Salve ragazzi, in un altro post era emerso che l'uso dei databse in asp.net e specialmente ado.net fosse un po complicato, io pensavo di crearci un applicazione insieme per vedere come funziona.
ECCO LA MIA:
Createvi un db access chiamato "animali1.mdb" contenete una tabella "animali_tab" contenente 4 campi "id, nome, razza, età" ed inserite in una pagina il seguente codice:
<%@ Page Language="VB" Debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDB" %>
<script runat="server">
'Creo la connessione al database animali1.mdb usabile da ogni sub
dim Connessione as New OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\wwwroot\animali1.mdb")
'Creo la sub generata al momento del caricamento della pagina
sub page_load(sender AS object, e AS Eventargs)
'controllo che la pagina non sia già stata rispedita
If NOT page.IsPostBack then
'se è la prima volta che si apre la pagina richiamo la funzione bindgrid
BindGrid()
End if
end sub
'Creo la sub generata dal bottone aggiungi
Sub button_click(sender AS object, e AS eventargs)
'Creo la sttringa sql che immetterà i dati nel databse
dim SQL = "INSERT INTO animali_tab (nome,razza,anni) VALUES('" & nome.text & "','" & razza.text & "','" & eta.text & "')"
'creo un nuovo comando per utilizzare la stringa SQL
Dim Comando as new OleDbCommand(SQL, Connessione)
'Creo la variabile a cui affiderò l'esecuzione della query
Dim variabile as integer
'Tento l'immisione dei dati nel database
Try
'Se l'immisione è corretta nella label lblMessage stampo l'ok
Connessione.Open()
variabile = comando.ExecuteNonQuery()
lblMessage.Text = "Dati immessi nel databse correttamente"
Catch Err As Exception
'Se si riscontrano errori li stampo nella label lblMEssage e esco dalla sub
lblMessage.text = err.tostring
Connessione.Close
Exit Sub
End Try
'Richiamo la funzione bindgrid per rifare il datasource del datagrid
BindGrid()
end sub
'Creo la funzione databind
Sub BindGrid()
'imposto un oleDbDataAdapter per prendere i dati dal Database
dim objCmd as new OleDBDataAdapter("SELECT * FROM animali_tab",Connessione)
'creo un nuovo dataset che conterrà i miei dati
dim DS As DataSet = new DataSet()
'Assegno i dati al dataset
ObjCmd.Fill(ds, "Animali_tab")
'Assegno come fonte del datagrid la tabella del dataset
MyDataGrid.DataSource = ds.Tables("animali_tab").DefaultView
'Faccio il databind del datagrid
MyDataGrid.DataBind()
end sub
</script>
<html>
<head>
</head>
<body style="FONT: 10pt verdana">
<form runat="server">
<h3><font face="Verdana">ESEMPIO DI IMMISSIONE DATI IN UN DATAGRID</font>
</h3>
<table width="95%">
<tbody>
<tr>
<td valign="top">
<ASP:DataGrid id="MyDataGrid" runat="server" EnableViewState="false" HeaderStyle-BackColor="#aaaadd" Font-Size="8pt" Font-Name="Verdana" CellSpacing="0" CellPadding="3" ShowFooter="false" BorderColor="black"
BackColor="#ccccff"
Width="700">
</ASP:DataGrid>
</td>
<td valign="top">
<table style="FONT: 8pt verdana" border=1 bordercolor="black">
<tr>
<td style="FONT: 10pt verdana" bgcolor="#aaaadd" colspan="2">
Inserisci un nuovo animale:</td>
</tr>
<tr>
<td nowrap="nowrap">
Nome:
</td>
<td>
<asp:textbox id="nome" runat="server" /></td>
</tr>
<tr>
<td nowrap="nowrap">
Età:
</td>
<td>
<asp:textbox id="eta" runat="server" /></td>
</tr>
<tr nowrap="nowrap">
<td>
Razza:
</td>
<td>
<asp:textbox id="razza" runat="server" /></td>
</tr>
<tr>
<td colspan="2">
<asp:Button id="button1" onclick="button_click" runat="server" text="aggioungi"/>
</td>
</tr>
<tr>
<td style="FONT: 10pt verdana" bgcolor="#aaaadd" colspan="2">
Risultato della query:</td>
</tr>
<tr>
<td colspan="2">
<asp:label id="lblmessage" runat="server"/>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</form>
<pre></pre>
</body>
</html>
Questa pagina realizza già un corretto inserimento, ora vediamo come possiamo eliminare o modificare i dati ok????????
1° PROBLEMA INCONTRATO
Se si aggiunge un nuovo record e poi si aggiorna la pagina viene aggiunto nuovamente, perchè???????????????
SPERO CHE PARTECIPERETE!!!!!!!!!!!!!!!!!!!!!!!!!!

Rispondi quotando