I DbDataAdapter di .NET si basano su oggetti di tipo DbCommand per selezionare, aggiornare, aggiungere ed eliminare le informazioni dalla base di dati sottostante. Gli oggetti DbCommand, a loro volta, mantengono un riferimento alla DbConnection che corrisponde all'origine dati in questione. Tale connessione non deve necessariamente essere aperta prima di richiamare i metodi del DbDataAdapter: nel caso in cui sia chiusa quando si eseguono i metodi del DbDataAdapter, viene aperta automaticamente, per poi essere richiusa al termine dell'operazione.
E' possibile verificare questo comportamento con un semplice esempio. Consideriamo il seguente stralcio di codice:
1 SqlConnection db = new SqlConnection(@"Data Source=192.168.0.212\SQLEXPRESS;
2 Initial Catalog=Northwind;Integrated Security=True;");
3 db.StateChange += new StateChangeEventHandler(db_StateChange);
4 db.Open();
5
6 SqlCommand cmd = db.CreateCommand();
7 cmd.CommandType = CommandType.Text;
8 cmd.CommandText = "SELECT * FROM Customers;";
9
10 SqlDataAdapter da = new SqlDataAdapter(cmd);
11 DataSet ds = new DataSet();
12 da.Fill(ds, "Customers");
13
14 private void db_StateChange(object sender, StateChangeEventArgs e)
15 {
16 Response.Write(e.CurrentState + "<br/>");
17 }
In questo caso, la connessione viene manualmente aperta (riga 4) prima di richiamare i metodi del DataAdapter: l'evento StateChange viene generato una sola volta, poiché la connessione, essendo già aperta prima di richiamare il metodo Fill (riga 12), rimane in questo stato anche al termine dell'operazione.
Commentando la riga 4, invece, il comportamento cambia: la connessione verrà aperta per l'esecuzione del metodo Fill (riga 12) e sarà chiusa automaticamente al termine dell'operazione. In altri termini, l'evento StateChange viene generato due volte.
Come si può leggere in questo post, tra poco sarà rilasciata una nuova release del Service Pack 1 di Windows Vista, più precisamente la numero 6.0.6001.16655 (longhorn_rc0.070907-1905). Il numero di versione, dunque, lascia intuire che si tratta delle Release Candidate 0.
Technorati Tags:
Windows,
Updates
Da qualche giorno ho cominciato a studiare per l'esame 70-528, in modo da ottenere la certificazione MCTS anche nell'area Web Applications. Rimanendo coerente con quanto fatto finora, anche stavolta sto utilizzando il Self-Paced Training Kit di Microsoft. Dalla prima impressione mi sembra fatto abbastanza bene, sicuramente meglio di quello relativo all'esame 70-526...
Technorati Tags:
Certification
Sono stati resi disponibili nuovi Starter Kit per Windows Mobile 6. All'indirizzo http://msdn2.microsoft.com/en-us/windowsmobile/bb264330.aspx si possono trovare due applicazioni scritte in C# e quattro in C++.
Gli esami di cerificazione Microsft sono numerosi... Per fortuna in questa pagina è disponibile la loro lista completa, divisa per numero, nome e tipo.
Technorati Tags:
Certification