<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Ado.Net</title><link>http://blog.shareoffice.it/emanuele/category/187.aspx</link><description>Trucchi, articoli ed altro sulla tecnologia Ado.Net per l'accesso ai dati</description><managingEditor>Emanuele Mattei</managingEditor><dc:language>it-IT</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Emanuele Mattei</dc:creator><title>Entity Framework Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. </title><link>http://blog.shareoffice.it/emanuele/archive/2011/07/17/10952.aspx</link><pubDate>Sun, 17 Jul 2011 11:35:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2011/07/17/10952.aspx</guid><description>Nel caso che state utilizzando Entity Framework, con un controllo GridView in Asp.net, se la paginazione risulta elevata, si possono verificare dei problemi a livello di prestazioni e qualche errore.&lt;br /&gt;Un errore tipico, può avenire nel caso che si hanno più di 15 000 record, un errore del tipo "&lt;br /&gt;&lt;strong&gt;Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed&lt;/strong&gt;. " nel caso che si passa all'ultimo pagina della gridview.&lt;br /&gt;Per ovviare a questo problema, nell'evento page_load della pagina, impostare la proprietà&lt;br /&gt;la proprietà AutoPage a False, come nell'esempio seguente.&lt;br /&gt;&lt;br /&gt;EntityDataSource1.AutoPage = false; &lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/10952.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml">Nel caso che state utilizzando Entity Framework, con un controllo GridView in Asp.net, se la paginazione risulta elevata, si possono verificare dei problemi a livello di prestazioni e qualche errore.<br />Un errore tipico, può avenire nel caso che si hanno più di 15 000 record, un errore del tipo "<br /><strong>Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed</strong>. " nel caso che si passa all'ultimo pagina della gridview.<br />Per ovviare a questo problema, nell'evento page_load della pagina, impostare la proprietà<br />la proprietà AutoPage a False, come nell'esempio seguente.<br /><br />EntityDataSource1.AutoPage = false; <img src ="http://blog.shareoffice.it/emanuele/aggbug/10952.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Emanuele Mattei</dc:creator><title>EntityFramework proprietà where per filtrare una data</title><link>http://blog.shareoffice.it/emanuele/archive/2011/07/16/10951.aspx</link><pubDate>Sat, 16 Jul 2011 09:45:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2011/07/16/10951.aspx</guid><description>In questi giorni, lavorando con Entity Framework con un collega, ci siamo scontrati con una piccola problema, quella di filtrare i record in riferimento alla data.&lt;br /&gt;Nel caso che si utilizza un controllo EntityDataSource, per la gestione di una fonte dati, tramite la proprietà "where" possiamo effettuare dei filtri sui dati.&lt;br /&gt;Nell'esempio seguente, tramite l'attributo it che identifica il campo, effettuamo un filtro in base ad un campo data, utilizzando la parola chiave cast per trasformare un valore stringa in data.&lt;br /&gt;Qui di seguito l'esempio.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EntityDataSource1.Where = "it.Campo_DATA &amp;gt;= cast( '2011/07/23 10:10:00' as System.DateTime) and it.Campo_DATA &amp;lt; cast( '2011/07/23 10:10:00' as System.DateTime)"; &lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/10951.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml">In questi giorni, lavorando con Entity Framework con un collega, ci siamo scontrati con una piccola problema, quella di filtrare i record in riferimento alla data.<br />Nel caso che si utilizza un controllo EntityDataSource, per la gestione di una fonte dati, tramite la proprietà "where" possiamo effettuare dei filtri sui dati.<br />Nell'esempio seguente, tramite l'attributo it che identifica il campo, effettuamo un filtro in base ad un campo data, utilizzando la parola chiave cast per trasformare un valore stringa in data.<br />Qui di seguito l'esempio.<br /><br /><br /><br /><br /><br />EntityDataSource1.Where = "it.Campo_DATA &gt;= cast( '2011/07/23 10:10:00' as System.DateTime) and it.Campo_DATA &lt; cast( '2011/07/23 10:10:00' as System.DateTime)"; <img src ="http://blog.shareoffice.it/emanuele/aggbug/10951.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Emanuele Mattei</dc:creator><title>Ado.Net Eseguire una stored Procedure (VB.Net e C#)</title><link>http://blog.shareoffice.it/emanuele/archive/2009/02/15/10038.aspx</link><pubDate>Sun, 15 Feb 2009 11:40:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2009/02/15/10038.aspx</guid><description>&lt;p&gt;Il frammento qui di seguito, illustra l'utilizzo delle classi command e connection, per eseguire una store procedura.&lt;/p&gt;
&lt;p&gt;Supponiamo di avere una storeprocedure, che restetuisce il valore di una select, e queste record, visualizzarli in un oggetto dropdownlist oppure gridview.&lt;/p&gt;
&lt;p&gt;L'esempio qui di seguito, illustra l'utilizzo di Stored Procedure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB.NEt&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sConnectionString &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = ConfigurationManager.ConnectionStrings(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"ConDati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).ConnectionString&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ConDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlConnection = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlConnection(sConnectionString)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;ConDati.Open()&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'oggetti per l'esecuzione delle storeProcedure&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; comElencoOperazioni &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlCommand = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlCommand()&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;comElencoOperazioni.CommandType = CommandType.StoredProcedure&lt;/p&gt;
&lt;p&gt;comElencoOperazioni.CommandText = &lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"sp_sel_caricaelenco"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;comElencoOperazioni.Connection = ConDati&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'eseguo la sp e carico la combo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;ElencoOperazioniDropDownList.DataTextField = &lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"descrizione"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;ElencoOperazioniDropDownList.DataValueField = &lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"ID"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;ElencoOperazioniDropDownList.DataSource = comElencoOperazioni.ExecuteReader()&lt;/p&gt;
&lt;p&gt;ElencoOperazioniDropDownList.DataBind()&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sConnectionString = &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;ConfigurationManager&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.ConnectionStrings[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"ConDati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;].ConnectionString;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlConnection&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ConDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlConnection&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(sConnectionString))&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt;ConDati.Open();&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//oggetti per l'esecuzione delle storeProcedure&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommand&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; comElencoOperazioni = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommand&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;())&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;comElencoOperazioni.CommandType = &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;CommandType&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.StoredProcedure;&lt;/font&gt;&lt;font size="2"&gt;comElencoOperazioni.CommandText = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"sp_sel_caricaelenco"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;comElencoOperazioni.Connection = ConDati;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//eseguo la sp e carico la combo&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;ElencoOperazioniDropDownList.DataTextField = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"DESC_descrizione"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt;ElencoOperazioniDropDownList.DataValueField = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"CODE_ID"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;ElencoOperazioniDropDownList.DataSource = comElencoOperazioni.ExecuteReader();&lt;/p&gt;
&lt;p&gt;ElencoOperazioniDropDownList.DataBind();&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/10038.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Il frammento qui di seguito, illustra l'utilizzo delle classi command e connection, per eseguire una store procedura.</p>
<p>Supponiamo di avere una storeprocedure, che restetuisce il valore di una select, e queste record, visualizzarli in un oggetto dropdownlist oppure gridview.</p>
<p>L'esempio qui di seguito, illustra l'utilizzo di Stored Procedure.</p>
<p><strong>VB.NEt</strong></p><font size="2"></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> sConnectionString </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = ConfigurationManager.ConnectionStrings(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"ConDati"</font></font><font size="2">).ConnectionString</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font><font size="2"> ConDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> SqlConnection = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlConnection(sConnectionString)</font><font size="2"> 
<p>ConDati.Open()</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'oggetti per l'esecuzione delle storeProcedure</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font><font size="2"> comElencoOperazioni </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> SqlCommand = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlCommand()</font><font size="2"> 
<p>comElencoOperazioni.CommandType = CommandType.StoredProcedure</p>
<p>comElencoOperazioni.CommandText = </p></font><font color="#a31515" size="2"><font color="#a31515" size="2">"sp_sel_caricaelenco"</font></font><font size="2">
<p>comElencoOperazioni.Connection = ConDati</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'eseguo la sp e carico la combo</font></font><font size="2">
<p>ElencoOperazioniDropDownList.DataTextField = </p></font><font color="#a31515" size="2"><font color="#a31515" size="2">"descrizione"</font></font><font size="2">
<p>ElencoOperazioniDropDownList.DataValueField = </p></font><font color="#a31515" size="2"><font color="#a31515" size="2">"ID"</font></font><font size="2">
<p>ElencoOperazioniDropDownList.DataSource = comElencoOperazioni.ExecuteReader()</p>
<p>ElencoOperazioniDropDownList.DataBind()</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font><font color="#0000ff" size="2"><font color="#0000ff" size="2"> 
<p> </p></font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font>
<p> </p>
<p><strong>C#</strong></p><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> sConnectionString = </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">ConfigurationManager</font></font><font size="2">.ConnectionStrings[</font><font color="#a31515" size="2"><font color="#a31515" size="2">"ConDati"</font></font><font size="2">].ConnectionString;</font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">using</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlConnection</font></font><font size="2"> ConDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlConnection</font></font><font size="2">(sConnectionString))</font><font size="2"> 
<p>{</p>
<p>ConDati.Open();</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//oggetti per l'esecuzione delle storeProcedure</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">using</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommand</font></font><font size="2"> comElencoOperazioni = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommand</font></font><font size="2">())</font><font size="2"> 
<p>{</p>comElencoOperazioni.CommandType = </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">CommandType</font></font><font size="2">.StoredProcedure;</font><font size="2">comElencoOperazioni.CommandText = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"sp_sel_caricaelenco"</font></font><font size="2">;</font><font size="2"> 
<p>comElencoOperazioni.Connection = ConDati;</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//eseguo la sp e carico la combo</font></font><font size="2">ElencoOperazioniDropDownList.DataTextField = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"DESC_descrizione"</font></font><font size="2">;</font><font size="2">ElencoOperazioniDropDownList.DataValueField = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"CODE_ID"</font></font><font size="2">;</font><font size="2"> 
<p>ElencoOperazioniDropDownList.DataSource = comElencoOperazioni.ExecuteReader();</p>
<p>ElencoOperazioniDropDownList.DataBind();</p>
<p>}</p>
<p>}</p></font><img src ="http://blog.shareoffice.it/emanuele/aggbug/10038.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Emanuele Mattei</dc:creator><title>Ado.Net - Filtrare i dati di un dataview (VB.Net e C#)</title><link>http://blog.shareoffice.it/emanuele/archive/2009/02/14/10037.aspx</link><pubDate>Sat, 14 Feb 2009 16:08:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2009/02/14/10037.aspx</guid><description>&lt;p&gt;L'oggetto datatable, ha una proprietà chiamata defaultView, nella quale contiene un oggetto di tipo dataview, tale oggetto ha una proprietà (RowFilter) per effettuare il filtro dei dati, ossia effettuare una selezione dei dati, in base a dei paramenti.&lt;/p&gt;
&lt;p&gt;Il frammento di codice qui di seguito, illustra, come utilizzare la proprietà RowFilter, per estrapolare tutti quei dati, nel cui campo Nome è presente il valore Emanuele.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB.Net&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlDataAdapter(Sql, con)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataTable(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;DtaDati.Fill(DttDati)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'filtro i dati&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;DttDati.DefaultView.RowFilter = &lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nome = 'Emanuele'"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'rilevo il dataview&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; dtvDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataView = DttDati.DefaultView&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; dtvDati.Count &amp;lt; 1 &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nessun record"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Record esistente"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Exception&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;MessageBox.Show(&lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; ex.Message)
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati where id = 1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(Sql, con);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;DtaDati.Fill(DttDati);&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//Filtro i dati&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;DttDati.DefaultView.RowFilter = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nome ='Emanuele'"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//rilevo il dataview&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataView&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; dtvDati = DttDati.DefaultView;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (dtvDati.Count &amp;lt; 1)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nessun record"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Record esistente"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + ex.Message);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/10037.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>L'oggetto datatable, ha una proprietà chiamata defaultView, nella quale contiene un oggetto di tipo dataview, tale oggetto ha una proprietà (RowFilter) per effettuare il filtro dei dati, ossia effettuare una selezione dei dati, in base a dei paramenti.</p>
<p>Il frammento di codice qui di seguito, illustra, come utilizzare la proprietà RowFilter, per estrapolare tutti quei dati, nel cui campo Nome è presente il valore Emanuele.</p>
<p><strong>VB.Net</strong></p><font size="2"></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> con </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> Sql </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati "</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font><font size="2"></font><font color="#008000" size="2"><font color="#008000" size="2">'</font></font><font color="#008000" size="2"><font color="#008000" size="2"> 
<p> </p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DtaDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlDataAdapter(Sql, con)</font><font size="2"> 
<p> </p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DttDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> DataTable(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">)</font><font size="2"> 
<p> </p>
<p>DtaDati.Fill(DttDati)</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'filtro i dati</font></font><font size="2">
<p>DttDati.DefaultView.RowFilter = </p></font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nome = 'Emanuele'"</font></font><font size="2">
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'rilevo il dataview</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> dtvDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> DataView = DttDati.DefaultView</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font size="2"> dtvDati.Count &lt; 1 </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Then</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nessun record"</font></font><font size="2">)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Else</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Record esistente"</font></font><font size="2">)</font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font color="#0000ff" size="2"><font color="#0000ff" size="2"> 
<p> </p>
<p> </p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Catch</font></font><font size="2"> ex </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> Exception</font><font size="2"> 
<p>MessageBox.Show(</p></font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore:"</font></font><font size="2"> &amp; ex.Message)
<p></p></font><strong>C#</strong><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> con = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">;</font><font size="2"> 
<p></p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">String</font></font><font size="2"> Sql = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati where id = 1"</font></font><font size="2">;
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">try</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2"> DtaDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2">(Sql, con);</font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2"> DttDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2">(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">);</font><font size="2"> 
<p>DtaDati.Fill(DttDati);</p>
<p> </p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//Filtro i dati</font></font><font size="2">DttDati.DefaultView.RowFilter = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nome ='Emanuele'"</font></font><font size="2">;</font><font size="2"> 
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//rilevo il dataview</font></font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataView</font></font><font size="2"> dtvDati = DttDati.DefaultView;</font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (dtvDati.Count &lt; 1)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nessun record"</font></font><font size="2">);</font><font size="2"> 
<p>}</p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">else</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Record esistente"</font></font><font size="2">);</font><font size="2"> 
<p>}</p>
<p>}</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">catch</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">Exception</font></font><font size="2"> ex)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore: "</font></font><font size="2"> + ex.Message);</font><font size="2"> 
<p>}</p></font><img src ="http://blog.shareoffice.it/emanuele/aggbug/10037.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Emanuele Mattei</dc:creator><title>Ado.Net - Effettuare delle query in un oggetto DataTable tramite il metodo select (VB.Net e C#)</title><link>http://blog.shareoffice.it/emanuele/archive/2009/02/13/10036.aspx</link><pubDate>Fri, 13 Feb 2009 20:55:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2009/02/13/10036.aspx</guid><description>&lt;p&gt;L'oggetto DataTable, tra i suoi metodi, c'è ne uno che permette di fare delle query. Il metodo Select, accetta due argomenti, il secondo è facoltativo, il primo è la query, ossia il valore da ricercare in un determinato campo, mentre il secondo è l'ordinamento.&lt;/p&gt;
&lt;p&gt;Di seguito si riporta un frammento di codice, di utilizzo del metodo select della classe DataTable, in particolare si effettua una ricerca nel campo nome, con il valore Emanuele. Si nota, che è possibile utilizzare anche l'operatore like.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB.Net&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlDataAdapter(Sql, con)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataTable(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;DtaDati.Fill(DttDati)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'posso utilizzare anche la like&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; riga() &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataRow = DttDati.Select(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nome = 'Emanuele'"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; riga.Length &amp;lt; 1 &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nessun record"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Record esistente"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Exception&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; ex.Message)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati where id = 1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(Sql, con);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;DtaDati.Fill(DttDati);&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;// posso utilizzare anche la like&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataRow&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[] riga = DttDati.Select(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nome = 'Emanuele'"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (riga.Length &amp;lt; 1)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nessun record"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Record esistente"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + ex.Message);&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/10036.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>L'oggetto DataTable, tra i suoi metodi, c'è ne uno che permette di fare delle query. Il metodo Select, accetta due argomenti, il secondo è facoltativo, il primo è la query, ossia il valore da ricercare in un determinato campo, mentre il secondo è l'ordinamento.</p>
<p>Di seguito si riporta un frammento di codice, di utilizzo del metodo select della classe DataTable, in particolare si effettua una ricerca nel campo nome, con il valore Emanuele. Si nota, che è possibile utilizzare anche l'operatore like.</p>
<p><strong>VB.Net</strong></p><font size="2"></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> con </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> Sql </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati "</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font><font size="2"></font><font color="#008000" size="2"><font color="#008000" size="2">'</font></font><font color="#008000" size="2"><font color="#008000" size="2"> 
<p> </p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DtaDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlDataAdapter(Sql, con)</font><font size="2"> 
<p> </p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DttDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> DataTable(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">)</font><font size="2"> 
<p> </p>
<p>DtaDati.Fill(DttDati)</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'posso utilizzare anche la like</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> riga() </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> DataRow = DttDati.Select(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nome = 'Emanuele'"</font></font><font size="2">)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font size="2"> riga.Length &lt; 1 </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Then</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nessun record"</font></font><font size="2">)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Else</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Record esistente"</font></font><font size="2">)</font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font color="#0000ff" size="2"><font color="#0000ff" size="2"> 
<p> </p>
<p> </p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Catch</font></font><font size="2"> ex </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> Exception</font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore:"</font></font><font size="2"> &amp; ex.Message)</font><font size="2"> 
<p> </p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font>
<p> </p>
<p><strong>C#</strong></p><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> con = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">;</font><font size="2"> 
<p></p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">String</font></font><font size="2"> Sql = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati where id = 1"</font></font><font size="2">;
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">try</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2"> DtaDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2">(Sql, con);</font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2"> DttDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2">(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">);</font><font size="2"> 
<p>DtaDati.Fill(DttDati);</p>
<p> </p>
<p> </p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">// posso utilizzare anche la like</font></font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataRow</font></font><font size="2">[] riga = DttDati.Select(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nome = 'Emanuele'"</font></font><font size="2">);</font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (riga.Length &lt; 1)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nessun record"</font></font><font size="2">);</font><font size="2"> 
<p>}</p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">else</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Record esistente"</font></font><font size="2">);</font><font size="2"> 
<p>}</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>}</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">catch</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">Exception</font></font><font size="2"> ex)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore: "</font></font><font size="2"> + ex.Message);</font><font size="2"> </font><img src ="http://blog.shareoffice.it/emanuele/aggbug/10036.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Emanuele Mattei</dc:creator><title>Ado.Net - utilizzo del metodo find per trovare un record</title><link>http://blog.shareoffice.it/emanuele/archive/2009/02/10/10034.aspx</link><pubDate>Tue, 10 Feb 2009 23:04:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2009/02/10/10034.aspx</guid><description>&lt;p&gt;Il seguente code snippet, illustra l'utilizzo del metodo find, della classe datatable, per trovare un determinato record. Va ricordato che tale metodo, si utilizza, solo nel caso che la colonna abbia valori univoci e non dupplicati.&lt;/p&gt;
&lt;p&gt;L'esempio qui proposto è per il linguaggio di programmazione VB.Net e C#&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB.Net&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlDataAdapter(Sql, con)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataTable(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;DtaDati.Fill(DttDati)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'solo per valori univoci. Altrimenti errore&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;DttDati.PrimaryKey = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataColumn() {DttDati.Columns(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)}&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'rilevo i dati&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; riga &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataRow = DttDati.Rows.Find(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"emanuele"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; riga &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;IsNot&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Nothing&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Record esistente"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nessun record"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Exception&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; ex.Message)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati where id = 1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(Sql, con);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;DtaDati.Fill(DttDati);&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//solo per valori univoci. Altrimenti errore&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;DttDati.PrimaryKey = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataColumn&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;[]{DttDati.Columns[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;]};&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//rilevo i dati&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataRow&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; riga = DttDati.Rows.Find(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"emanuele"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (riga != &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Record esistente"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Nessun record"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + ex.Message);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/10034.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Il seguente code snippet, illustra l'utilizzo del metodo find, della classe datatable, per trovare un determinato record. Va ricordato che tale metodo, si utilizza, solo nel caso che la colonna abbia valori univoci e non dupplicati.</p>
<p>L'esempio qui proposto è per il linguaggio di programmazione VB.Net e C#</p>
<p><strong>VB.Net</strong></p><font size="2"></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> con </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> Sql </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati "</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font><font size="2"></font><font color="#008000" size="2"><font color="#008000" size="2">'</font></font><font color="#008000" size="2"><font color="#008000" size="2"> 
<p> </p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DtaDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlDataAdapter(Sql, con)</font><font size="2"> 
<p> </p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DttDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> DataTable(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">)</font><font size="2"> 
<p> </p>
<p>DtaDati.Fill(DttDati)</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'solo per valori univoci. Altrimenti errore</font></font><font size="2">DttDati.PrimaryKey = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> DataColumn() {DttDati.Columns(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nome"</font></font><font size="2">)}</font><font size="2"> 
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'rilevo i dati</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> riga </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> DataRow = DttDati.Rows.Find(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"emanuele"</font></font><font size="2">)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font size="2"> riga </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">IsNot</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Nothing</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Then</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Record esistente"</font></font><font size="2">)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Else</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nessun record"</font></font><font size="2">)</font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font color="#0000ff" size="2"><font color="#0000ff" size="2"> 
<p> </p>
<p> </p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Catch</font></font><font size="2"> ex </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> Exception</font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore:"</font></font><font size="2"> &amp; ex.Message)</font><font size="2"> 
<p> </p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font>
<p><strong>C#</strong></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> con = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">;</font><font size="2"> 
<p></p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">String</font></font><font size="2"> Sql = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati where id = 1"</font></font><font size="2">;
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">try</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2"> DtaDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2">(Sql, con);</font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2"> DttDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2">(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">);</font><font size="2"> 
<p>DtaDati.Fill(DttDati);</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//solo per valori univoci. Altrimenti errore</font></font><font size="2">DttDati.PrimaryKey = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataColumn</font></font><font size="2">[]{DttDati.Columns[</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nome"</font></font><font size="2">]};</font><font size="2"> 
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//rilevo i dati</font></font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataRow</font></font><font size="2"> riga = DttDati.Rows.Find(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"emanuele"</font></font><font size="2">);</font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (riga != </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">null</font></font><font size="2">)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Record esistente"</font></font><font size="2">);</font><font size="2"> 
<p>}</p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">else</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Nessun record"</font></font><font size="2">);</font><font size="2"> 
<p>}</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>}</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">catch</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">Exception</font></font><font size="2"> ex)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore: "</font></font><font size="2"> + ex.Message);</font><font size="2"> 
<p>}</p></font><img src ="http://blog.shareoffice.it/emanuele/aggbug/10034.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Emanuele Mattei</dc:creator><title>Ado.Net la gestione dell'aggiornamento dei dati dell'evento RowUpdating della classe SqlDataAdapter (VB.Net e C#)</title><link>http://blog.shareoffice.it/emanuele/archive/2009/02/02/10010.aspx</link><pubDate>Mon, 02 Feb 2009 22:32:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2009/02/02/10010.aspx</guid><description>&lt;p&gt;La classe SqlDataAdapter, tramite il metodo update, permette l'aggiornamento dei dati, quando si esegue tale metodo si scatenano vari eventi, tra cui RowUpdating, il quale è il momento in cui si sta facendo l'aggiornamento dei dati.&lt;/p&gt;
&lt;p&gt;L'esempio di codice, qui di seguito, illustra come tramite il linguaggio VB.Net e C#, possiamo gestire tale evento.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB.Net&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati where id = 1 "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlDataAdapter(Sql, con)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; cmbDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlCommandBuilder(DtaDati)&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataTable(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'gestore dell'evento RowUpdating&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;AddHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati.RowUpdating, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;AddressOf&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati_RowUpdating&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;DtaDati.Fill(DttDati)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'aggiorno il dato&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;DttDati.Rows(0)(&lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) = DttDati.Rows(0)(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &amp;amp; &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;" Nuovo"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'metodo che aggiorna il dato&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;DtaDati.Update(DttDati)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Exception&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; ex.Message)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'Funzione per la gestione dell'evento RowUpdating, si scatena, quando l'aggiornamento si sta verificando&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati_RowUpdating(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sender &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlRowUpdatingEventArgs)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e.Status = UpdateStatus.ErrorsOccurred &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Evento: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; e.StatementType.ToString())&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;MessageBox.Show(&lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Valore da - a "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; e.Row(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, DataRowVersion.Original) + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;" - "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + e.Row(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;))
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati where id = 1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(Sql, con);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommandBuilder&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; cmbDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommandBuilder&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(DtaDati);
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//gestore dell'evento RowUpdating&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;DtaDati.RowUpdating += &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlRowUpdatingEventHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(DtaDati_RowUpdating);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;DtaDati.Fill(DttDati);&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//aggiorno il dato&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;DttDati.Rows[0][&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;] = DttDati.Rows[0][&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;] + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;" Nuovo"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//metodo che aggiorna il dato&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;DtaDati.Update(DttDati);&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + ex.Message);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//Funzione per la gestione dell'evento RowUpdating, si scatena, quando l'aggiornamento si sta verificando&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati_RowUpdating(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sender, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlRowUpdatingEventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (e.Status == &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;UpdateStatus&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.ErrorsOccurred)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Event: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + e.StatementType);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Valore da - a "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + e.Row[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataRowVersion&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Original] + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;" - "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + e.Row[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;]);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/10010.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>La classe SqlDataAdapter, tramite il metodo update, permette l'aggiornamento dei dati, quando si esegue tale metodo si scatenano vari eventi, tra cui RowUpdating, il quale è il momento in cui si sta facendo l'aggiornamento dei dati.</p>
<p>L'esempio di codice, qui di seguito, illustra come tramite il linguaggio VB.Net e C#, possiamo gestire tale evento.</p>
<p> </p>
<p> </p>
<p><strong>VB.Net</strong></p><font size="2"></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> con </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> Sql </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati where id = 1 "</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font><font size="2"></font><font color="#008000" size="2"><font color="#008000" size="2">'</font></font><font color="#008000" size="2"><font color="#008000" size="2"> 
<p> </p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DtaDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlDataAdapter(Sql, con)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> cmbDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlCommandBuilder(DtaDati)</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DttDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> DataTable(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">)</font><font size="2"> 
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'gestore dell'evento RowUpdating</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">AddHandler</font></font><font size="2"> DtaDati.RowUpdating, </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">AddressOf</font></font><font size="2"> DtaDati_RowUpdating</font><font size="2"> 
<p> </p>
<p> </p>
<p>DtaDati.Fill(DttDati)</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'aggiorno il dato</font></font><font size="2">
<p>DttDati.Rows(0)(</p></font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">) = DttDati.Rows(0)(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">) &amp; </font><font color="#a31515" size="2"><font color="#a31515" size="2">" Nuovo"</font></font><font size="2">
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'metodo che aggiorna il dato</font></font><font size="2">
<p>DtaDati.Update(DttDati)</p>
<p> </p>
<p> </p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Catch</font></font><font size="2"> ex </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> Exception</font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore:"</font></font><font size="2"> &amp; ex.Message)</font><font size="2"> 
<p> </p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font><font size="2">
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'Funzione per la gestione dell'evento RowUpdating, si scatena, quando l'aggiornamento si sta verificando</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Private</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Sub</font></font><font size="2"> DtaDati_RowUpdating(</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">ByVal</font></font><font size="2"> sender </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Object</font></font><font size="2">, </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">ByVal</font></font><font size="2"> e </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> SqlRowUpdatingEventArgs)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font size="2"> e.Status = UpdateStatus.ErrorsOccurred </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Then</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore"</font></font><font size="2">)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Else</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Evento: "</font></font><font size="2"> &amp; e.StatementType.ToString())</font><font size="2"> 
<p>MessageBox.Show(</p></font><font color="#a31515" size="2"><font color="#a31515" size="2">"Valore da - a "</font></font><font size="2"> &amp; e.Row(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">, DataRowVersion.Original) + </font><font color="#a31515" size="2"><font color="#a31515" size="2">" - "</font></font><font size="2"> + e.Row(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">))
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Sub</font></font><font color="#0000ff" size="2"><font color="#0000ff" size="2"> 
<p></p></font></font> 
<p><strong>C#</strong></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> con = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">;</font><font size="2"> 
<p></p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">String</font></font><font size="2"> Sql = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati where id = 1"</font></font><font size="2">;
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">try</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2"> DtaDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2">(Sql, con);</font><font size="2"> 
<p></p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommandBuilder</font></font><font size="2"> cmbDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommandBuilder</font></font><font size="2">(DtaDati);
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//gestore dell'evento RowUpdating</font></font><font size="2">DtaDati.RowUpdating += </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlRowUpdatingEventHandler</font></font><font size="2">(DtaDati_RowUpdating);</font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2"> DttDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2">(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">);</font><font size="2"> 
<p>DtaDati.Fill(DttDati);</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//aggiorno il dato</font></font><font size="2">DttDati.Rows[0][</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">] = DttDati.Rows[0][</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">] + </font><font color="#a31515" size="2"><font color="#a31515" size="2">" Nuovo"</font></font><font size="2">;</font><font size="2"> 
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//metodo che aggiorna il dato</font></font><font size="2">
<p>DtaDati.Update(DttDati);</p>
<p> </p>
<p>}</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">catch</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">Exception</font></font><font size="2"> ex)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore: "</font></font><font size="2"> + ex.Message);</font><font size="2"> 
<p>}</p>
<p> </p><font size="2">
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//Funzione per la gestione dell'evento RowUpdating, si scatena, quando l'aggiornamento si sta verificando</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">void</font></font><font size="2"> DtaDati_RowUpdating(</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">object</font></font><font size="2"> sender, </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlRowUpdatingEventArgs</font></font><font size="2"> e)</font></font><font size="2"> 
<p>{</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (e.Status == </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">UpdateStatus</font></font><font size="2">.ErrorsOccurred)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore"</font></font><font size="2">);</font><font size="2"> 
<p>}</p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">else</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Event: "</font></font><font size="2"> + e.StatementType);</font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Valore da - a "</font></font><font size="2"> + e.Row[</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">, </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataRowVersion</font></font><font size="2">.Original] + </font><font color="#a31515" size="2"><font color="#a31515" size="2">" - "</font></font><font size="2"> + e.Row[</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">]);</font><font size="2"> 
<p>}</p>
<p>}</p></font><img src ="http://blog.shareoffice.it/emanuele/aggbug/10010.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Emanuele Mattei</dc:creator><title>Ado.Net Gestione dell'evento rowupdated per l'aggiornamento dei dati (VB.Net e C#)</title><link>http://blog.shareoffice.it/emanuele/archive/2009/01/26/9984.aspx</link><pubDate>Mon, 26 Jan 2009 22:57:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2009/01/26/9984.aspx</guid><description>&lt;p&gt;La classe SqlDataAdapter, tramite il metodo update, aggiorna i dati di una fonte dati sql server tramite il metodo Update. Al termine dell'aggiornamento, si scatena un evento (rowupdated) . L'esempio qui di seguito, illustra come creare un gestore di evento per tale evento.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB.Net&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlDataAdapter(Sql, con)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; cmbDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlCommandBuilder(DtaDati)&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataTable(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'gestore dell'evento rowupdated&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;AddHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati.RowUpdated, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;AddressOf&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati_RowUpdated&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;DtaDati.Fill(DttDati)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'aggiorno il dato&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;DttDati.Rows(0)(&lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) = DttDati.Rows(0)(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;) &amp;amp; &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;" Nuovo"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'metodo che aggiorna il dato&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;DtaDati.Update(DttDati)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Exception&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; ex.Message)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'Funzione per la gestione dell'evento RowUpdate, si scatena, quando l'aggiornamento Š avvenuto&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Private&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati_RowUpdated(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sender &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlRowUpdatedEventArgs)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e.Status = UpdateStatus.ErrorsOccurred &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Then&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Evento: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; e.StatementType.ToString())&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;MessageBox.Show(&lt;/p&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Valore modificato "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; e.Row(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).ToString())
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;If&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt; 
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati where id = 1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(Sql, con);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommandBuilder&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; cmbDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommandBuilder&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(DtaDati);
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//gestore dell'evento rowupdated&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;DtaDati.RowUpdated += &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlRowUpdatedEventHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(DtaDati_RowUpdated);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;DtaDati.Fill(DttDati);&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//aggiorno il dato&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;DttDati.Rows[0][&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;] = DttDati.Rows[0][&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;] + &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;" Nuovo"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//metodo che aggiorna il dato&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;DtaDati.Update(DttDati);&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + ex.Message);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;
&lt;p&gt;//Funzione per la gestione dell'evento RowUpdate, si scatena, quando l'aggiornamento Š avvenuto&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati_RowUpdated(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sender, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlRowUpdatedEventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (e.Status == &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;UpdateStatus&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.ErrorsOccurred)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore di aggiornamento"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;else&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Evento: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + e.StatementType);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Valore modificato "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + e.Row[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nome"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;].ToString());&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/9984.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>La classe SqlDataAdapter, tramite il metodo update, aggiorna i dati di una fonte dati sql server tramite il metodo Update. Al termine dell'aggiornamento, si scatena un evento (rowupdated) . L'esempio qui di seguito, illustra come creare un gestore di evento per tale evento.</p>
<p><strong>VB.Net</strong></p><font size="2"></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> con </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> Sql </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati "</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font><font size="2"></font><font color="#008000" size="2"><font color="#008000" size="2">'</font></font><font color="#008000" size="2"><font color="#008000" size="2"> 
<p> </p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DtaDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlDataAdapter(Sql, con)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> cmbDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlCommandBuilder(DtaDati)</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DttDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> DataTable(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">)</font><font size="2"> 
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'gestore dell'evento rowupdated</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">AddHandler</font></font><font size="2"> DtaDati.RowUpdated, </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">AddressOf</font></font><font size="2"> DtaDati_RowUpdated</font><font size="2"> 
<p> </p>
<p>DtaDati.Fill(DttDati)</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'aggiorno il dato</font></font><font size="2">
<p>DttDati.Rows(0)(</p></font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">) = DttDati.Rows(0)(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">) &amp; </font><font color="#a31515" size="2"><font color="#a31515" size="2">" Nuovo"</font></font><font size="2">
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'metodo che aggiorna il dato</font></font><font size="2">
<p>DtaDati.Update(DttDati)</p>
<p> </p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Catch</font></font><font size="2"> ex </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> Exception</font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore:"</font></font><font size="2"> &amp; ex.Message)</font><font size="2"> 
<p> </p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font><font size="2">
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'Funzione per la gestione dell'evento RowUpdate, si scatena, quando l'aggiornamento Š avvenuto</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Private</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Sub</font></font><font size="2"> DtaDati_RowUpdated(</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">ByVal</font></font><font size="2"> sender </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Object</font></font><font size="2">, </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">ByVal</font></font><font size="2"> e </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> SqlRowUpdatedEventArgs)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font size="2"> e.Status = UpdateStatus.ErrorsOccurred </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Then</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore"</font></font><font size="2">)</font><font size="2"> 
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Else</font></font><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Evento: "</font></font><font size="2"> &amp; e.StatementType.ToString())</font><font size="2"> 
<p>MessageBox.Show(</p></font><font color="#a31515" size="2"><font color="#a31515" size="2">"Valore modificato "</font></font><font size="2"> &amp; e.Row(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">).ToString())
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">If</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Sub</font></font><font color="#0000ff" size="2"><font color="#0000ff" size="2"> 
<p></p></font></font> 
<p><strong>C#</strong></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> con = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">;</font><font size="2"> 
<p></p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">String</font></font><font size="2"> Sql = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati where id = 1"</font></font><font size="2">;
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">try</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2"> DtaDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2">(Sql, con);</font><font size="2"> 
<p></p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommandBuilder</font></font><font size="2"> cmbDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommandBuilder</font></font><font size="2">(DtaDati);
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//gestore dell'evento rowupdated</font></font><font size="2">DtaDati.RowUpdated += </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlRowUpdatedEventHandler</font></font><font size="2">(DtaDati_RowUpdated);</font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2"> DttDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2">(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">);</font><font size="2"> 
<p>DtaDati.Fill(DttDati);</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//aggiorno il dato</font></font><font size="2">DttDati.Rows[0][</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">] = DttDati.Rows[0][</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">] + </font><font color="#a31515" size="2"><font color="#a31515" size="2">" Nuovo"</font></font><font size="2">;</font><font size="2"> 
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//metodo che aggiorna il dato</font></font><font size="2">
<p>DtaDati.Update(DttDati);</p>
<p> </p>
<p>}</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">catch</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">Exception</font></font><font size="2"> ex)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore: "</font></font><font size="2"> + ex.Message);</font><font size="2"> 
<p>}</p>
<p> </p><font color="#008000" size="2"><font color="#008000" size="2">
<p>//Funzione per la gestione dell'evento RowUpdate, si scatena, quando l'aggiornamento Š avvenuto</p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">void</font></font><font size="2"> DtaDati_RowUpdated(</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">object</font></font><font size="2"> sender, </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlRowUpdatedEventArgs</font></font><font size="2"> e)</font></font><font size="2"> 
<p>{</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (e.Status == </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">UpdateStatus</font></font><font size="2">.ErrorsOccurred)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore di aggiornamento"</font></font><font size="2">);</font><font size="2"> 
<p>}</p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">else</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Evento: "</font></font><font size="2"> + e.StatementType);</font><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Valore modificato "</font></font><font size="2"> + e.Row[</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nome"</font></font><font size="2">].ToString());</font><font size="2"> 
<p>}</p>
<p>}</p></font><img src ="http://blog.shareoffice.it/emanuele/aggbug/9984.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Emanuele Mattei</dc:creator><title>Ado.Net Gestione degli errori del metodo Fill della classe SqlDataAdapter tramite VB.Net e C#</title><link>http://blog.shareoffice.it/emanuele/archive/2009/01/25/9980.aspx</link><pubDate>Sun, 25 Jan 2009 18:24:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2009/01/25/9980.aspx</guid><description>&lt;p&gt;Quando si utilizza il metodo fill, della classe SqlDataAdapter, possiamo crearci un gesto di evento, per gestire l'eventualità di un errore.&lt;/p&gt;
&lt;p&gt;In questo esempio di codice, (VB.Net e C#) vediamo un esempio pratico. L'errore, voluto, riguarda la mancata creazione di colonne nell'oggetto datatable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB.Net&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'Esempio dell'evento FillError, si verifica nel caso ci sono errori durante l'utilizzo del metodo fill&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati where id = 'a'"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt; 
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlDataAdapter(Sql, con)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;DtaDati.MissingSchemaAction = MissingSchemaAction.Error&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DataTable(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;'gestore dell'evento fill error&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;AddHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati.FillError, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;AddressOf&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati_FillError&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;DtaDati.Fill(DttDati)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ExceptionMessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; ex.Message)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Public&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati_FillError(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sender &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;ByVal&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; FillErrorEventArgs)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;MessageBox.Show(e.Errors.Message)&lt;/p&gt;
&lt;p&gt;e.Continue = &lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;True&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Sub&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//Esempio dell'evento FillError, si verifica nel caso ci sono errori durante l'utilizzo del metodo fill&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Sql = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Dati where id = 1"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataAdapter&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(Sql, con);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;DtaDati.MissingSchemaAction = &lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MissingSchemaAction&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Error;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DttDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;DataTable&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;();&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//gestore dell'evento fill error&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;DtaDati.FillError += &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;FillErrorEventHandler&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(DtaDati_FillError);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;//non valorizzando con i nomi delle colonne genero un eccezione.&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;
&lt;p&gt;DtaDati.Fill(DttDati);&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex)&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Errore: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + ex.Message);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#008000" size="2"&gt;&lt;font color="#008000" size="2"&gt;
&lt;p&gt;//gestore di evento&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;void&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DtaDati_FillError(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;object&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; sender, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;FillErrorEventArgs&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; e)&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;{&lt;/p&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(e.Errors.Message);&lt;/font&gt;&lt;font size="2"&gt; 
&lt;p&gt;e.Continue = &lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;
&lt;p&gt;}&lt;/p&gt;&lt;/font&gt;&lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/9980.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Quando si utilizza il metodo fill, della classe SqlDataAdapter, possiamo crearci un gesto di evento, per gestire l'eventualità di un errore.</p>
<p>In questo esempio di codice, (VB.Net e C#) vediamo un esempio pratico. L'errore, voluto, riguarda la mancata creazione di colonne nell'oggetto datatable.</p>
<p><strong>VB.Net</strong></p><font size="2"></font><font size="2">
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'Esempio dell'evento FillError, si verifica nel caso ci sono errori durante l'utilizzo del metodo fill</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> con </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> Sql </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati where id = 'a'"</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font><font size="2"></font><font color="#008000" size="2"><font color="#008000" size="2">'</font></font><font color="#008000" size="2"><font color="#008000" size="2"> 
<p> </p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DtaDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlDataAdapter(Sql, con)</font><font size="2"> 
<p>DtaDati.MissingSchemaAction = MissingSchemaAction.Error</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DttDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> DataTable(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati"</font></font><font size="2">)</font><font size="2"> 
<p> </p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">'gestore dell'evento fill error</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">AddHandler</font></font><font size="2"> DtaDati.FillError, </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">AddressOf</font></font><font size="2"> DtaDati_FillError</font><font size="2"> 
<p>DtaDati.Fill(DttDati)</p>
<p> </p>
<p> </p></font>
<p><font size="2"></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2">Catch</font></font><font size="2"> ex </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> ExceptionMessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore:"</font></font><font size="2"> &amp; ex.Message)</font><font size="2"> 
<p> </p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font><font size="2"></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Public</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Sub</font></font><font size="2"> DtaDati_FillError(</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">ByVal</font></font><font size="2"> sender </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Object</font></font><font size="2">, </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">ByVal</font></font><font size="2"> e </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> FillErrorEventArgs)</font><font size="2"> 
<p>MessageBox.Show(e.Errors.Message)</p>
<p>e.Continue = </p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">True</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Sub</font></font>
<p><strong>C#</strong></p>
<p> </p><font size="2">
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//Esempio dell'evento FillError, si verifica nel caso ci sono errori durante l'utilizzo del metodo fill</font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> con = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"</font></font><font size="2">;</font><font size="2"> 
<p></p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">String</font></font><font size="2"> Sql = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Dati where id = 1"</font></font><font size="2">;
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">try</font></font><font size="2">
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2"> DtaDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataAdapter</font></font><font size="2">(Sql, con);</font><font size="2"> 
<p>DtaDati.MissingSchemaAction = </p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MissingSchemaAction</font></font><font size="2">.Error;</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2"> DttDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">DataTable</font></font><font size="2">();</font><font size="2"> 
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//gestore dell'evento fill error</font></font><font size="2">DtaDati.FillError += </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">FillErrorEventHandler</font></font><font size="2">(DtaDati_FillError);</font><font size="2"> 
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">//non valorizzando con i nomi delle colonne genero un eccezione.</font></font><font size="2">
<p>DtaDati.Fill(DttDati);</p>
<p> </p>
<p>}</p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">catch</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">Exception</font></font><font size="2"> ex)</font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Errore: "</font></font><font size="2"> + ex.Message);</font><font size="2"> 
<p>}</p>
<p> </p><font color="#008000" size="2"><font color="#008000" size="2"></font></font><font color="#008000" size="2"><font color="#008000" size="2">
<p>//gestore di evento</p></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">void</font></font><font size="2"> DtaDati_FillError(</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">object</font></font><font size="2"> sender, </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">FillErrorEventArgs</font></font><font size="2"> e)</font></font><font size="2"> 
<p>{</p></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(e.Errors.Message);</font><font size="2"> 
<p>e.Continue = </p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">true</font></font><font size="2">;
<p>}</p></font><img src ="http://blog.shareoffice.it/emanuele/aggbug/9980.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Emanuele Mattei</dc:creator><title>Ado.Net esempio di MARS (Multiple Active Result Sets) tramite VB.Net e C#</title><link>http://blog.shareoffice.it/emanuele/archive/2009/01/14/9915.aspx</link><pubDate>Wed, 14 Jan 2009 21:24:00 GMT</pubDate><guid>http://blog.shareoffice.it/emanuele/archive/2009/01/14/9915.aspx</guid><description>&lt;p&gt;Con Ado.Net versione 2 o successiva, possiamo eseguire più batch su una singola connessione. Nelle versioni precedenti era possibile eseguire un batch alla volta su una singola connessione. L'esecuzione di più batch con MARS non implica l'esecuzione simultanea delle operazioni.&lt;/p&gt;
&lt;p&gt;Questo avviene impostando nella connectionstring il parametro MultipleActiveResultSets a true.&lt;/p&gt;
&lt;p&gt;Es.&lt;/p&gt;
&lt;p&gt;MultipleActiveResultSets=True &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Qui di seguito si riporta un frammento di codice.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB.Net&lt;/strong&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test; MultipleActiveResultSets=True"&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ConDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlConnection(con)&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlTabDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select id from Dati"&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlTabAnagrafica &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Anagrafica where id = @id"&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DatiCmd &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlCommand&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; AnagraficaCmd &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlCommand&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;DatiCmd = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlCommand(SqlTabDati, ConDati)&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;AnagraficaCmd = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;New&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlCommand(SqlTabAnagrafica, ConDati)&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;AnagraficaCmd.Parameters.Add(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"@id"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, SqlDbType.Int)&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;ConDati.Open()&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Dim&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; idDati &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Integer&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DatiReader = DatiCmd.ExecuteReader()&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;While&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DatiReader.Read()&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;idDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;CInt&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(DatiReader(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"id"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;))&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;AnagraficaCmd.Parameters(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"@id"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;).Value = idDati&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; AnagraficaReader &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlDataReader = AnagraficaCmd.ExecuteReader()&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;While&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; AnagraficaReader.Read()&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; AnagraficaReader(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nazione"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;))&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;While&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;While&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; exdb &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlException&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"ERrore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; exdb.Message)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Return&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; Exception&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;MessageBox.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"ERrore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &amp;amp; ex.Message)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Return&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Try&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;ConDati.Close()&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Using&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C#&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; con = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test; MultipleActiveResultSets=True"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlConnection&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ConDati = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlConnection&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(con))&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlTabDati = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select id from Dati"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;string&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; SqlTabAnagrafica = &lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Select * from Anagrafica where id = @id"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommand&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DatiCmd;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommand&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; AnagraficaCmd;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;try&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;DatiCmd = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommand&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(SqlTabDati, ConDati);&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;AnagraficaCmd = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlCommand&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;(SqlTabAnagrafica, ConDati);&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;AnagraficaCmd.Parameters.Add(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"@id"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;, &lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDbType&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Int);&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;ConDati.Open();&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataReader&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; DatiReader;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; idDati;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (DatiReader = DatiCmd.ExecuteReader())&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;while&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (DatiReader.Read())&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;idDati = (&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;)(DatiReader[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"id"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;]);&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;AnagraficaCmd.Parameters[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"@id"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;].Value = idDati;&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;using&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlDataReader&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; AnagraficaReader = AnagraficaCmd.ExecuteReader())&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;while&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (AnagraficaReader.Read())&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"Dati: "&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + AnagraficaReader[&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"nazione"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;]);&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;SqlException&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; exdb)&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"ERrore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + exdb.Message);&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;catch&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; (&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; ex)&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;{&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#2b91af" size="2"&gt;&lt;font color="#2b91af" size="2"&gt;MessageBox&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;.Show(&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;"ERrore:"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt; + ex.Message);&lt;/font&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;return&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;;&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;ConDati.Close();&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;}&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/emanuele/aggbug/9915.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Con Ado.Net versione 2 o successiva, possiamo eseguire più batch su una singola connessione. Nelle versioni precedenti era possibile eseguire un batch alla volta su una singola connessione. L'esecuzione di più batch con MARS non implica l'esecuzione simultanea delle operazioni.</p>
<p>Questo avviene impostando nella connectionstring il parametro MultipleActiveResultSets a true.</p>
<p>Es.</p>
<p>MultipleActiveResultSets=True </p>
<p> </p>
<p>Qui di seguito si riporta un frammento di codice.</p>
<p><strong>VB.Net</strong></p><font size="2"></font><font size="2"></font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> con </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test; MultipleActiveResultSets=True"</font></font></p><font color="#a31515" size="2"><font color="#a31515" size="2"></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font><font size="2"> ConDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlConnection(con)</font><font size="2"> </font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> SqlTabDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select id from Dati"</font></font></p><font color="#a31515" size="2"><font color="#a31515" size="2"></font></font><font size="2"></font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> SqlTabAnagrafica </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">String</font></font><font size="2"> = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Anagrafica where id = @id"</font></font></p><font color="#a31515" size="2"><font color="#a31515" size="2"></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> DatiCmd </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> SqlCommand</font><font size="2"> </font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> AnagraficaCmd </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> SqlCommand</font></p>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2">DatiCmd = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlCommand(SqlTabDati, ConDati)</font><font size="2"> </font>
<p><font size="2">AnagraficaCmd = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">New</font></font><font size="2"> SqlCommand(SqlTabAnagrafica, ConDati)</font></p><font size="2">AnagraficaCmd.Parameters.Add(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"@id"</font></font><font size="2">, SqlDbType.Int)</font><font size="2"> </font>
<p><font size="2"></font> </p>
<p><font size="2">ConDati.Open()</font></p>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Dim</font></font><font size="2"> idDati </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Integer</font></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font><font size="2"> DatiReader = DatiCmd.ExecuteReader()</font><font size="2"> </font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">While</font></font><font size="2"> DatiReader.Read()</font></p><font size="2">idDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">CInt</font></font><font size="2">(DatiReader(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"id"</font></font><font size="2">))</font><font size="2"> </font>
<p><font size="2">AnagraficaCmd.Parameters(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"@id"</font></font><font size="2">).Value = idDati</font></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font><font size="2"> AnagraficaReader </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> SqlDataReader = AnagraficaCmd.ExecuteReader()</font><font size="2"> </font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">While</font></font><font size="2"> AnagraficaReader.Read()</font></p><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati: "</font></font><font size="2"> &amp; AnagraficaReader(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nazione"</font></font><font size="2">))</font><font size="2"> </font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">While</font></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font><font color="#0000ff" size="2"><font color="#0000ff" size="2"> </font></font>
<p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font> </p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2"></font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">While</font></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font><font color="#0000ff" size="2"><font color="#0000ff" size="2"> </font></font>
<p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font> </p>
<p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font> </p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Catch</font></font><font size="2"> exdb </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> SqlException</font><font size="2"> </font>
<p><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"ERrore:"</font></font><font size="2"> &amp; exdb.Message)</font></p>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Return</font></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Catch</font></font><font size="2"> ex </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">As</font></font><font size="2"> Exception</font><font size="2"> </font>
<p><font size="2">MessageBox.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"ERrore:"</font></font><font size="2"> &amp; ex.Message)</font></p>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Return</font></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2"></font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Try</font></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2"></font>
<p><font size="2">ConDati.Close()</font></p>
<p><font size="2"></font> </p>
<p><font size="2"></font> </p>
<p><font size="2"></font> </p>
<p><font size="2"></font> </p>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">End</font></font><font size="2"> </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">Using</font></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font>
<p> </p>
<p><strong>C#</strong></p>
<p><strong></strong> </p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> con = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Data Source=(local);Integrated Security=SSPI; Initial Catalog=test; MultipleActiveResultSets=True"</font></font><font size="2">;</font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">using</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlConnection</font></font><font size="2"> ConDati = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlConnection</font></font><font size="2">(con))</font><font size="2"> </font>
<p><font size="2">{</font></p>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> SqlTabDati = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select id from Dati"</font></font><font size="2">;</font></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">string</font></font><font size="2"> SqlTabAnagrafica = </font><font color="#a31515" size="2"><font color="#a31515" size="2">"Select * from Anagrafica where id = @id"</font></font><font size="2">;</font><font size="2"> </font>
<p><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommand</font></font><font size="2"> DatiCmd;</font></p><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommand</font></font><font size="2"> AnagraficaCmd;</font><font size="2"> </font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">try</font></font></p><font color="#0000ff" size="2"><font color="#0000ff" size="2"></font></font><font size="2"></font>
<p><font size="2">{</font></p><font size="2">DatiCmd = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommand</font></font><font size="2">(SqlTabDati, ConDati);</font><font size="2"> </font>
<p><font size="2">AnagraficaCmd = </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">new</font></font><font size="2"> </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlCommand</font></font><font size="2">(SqlTabAnagrafica, ConDati);</font></p><font size="2">AnagraficaCmd.Parameters.Add(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"@id"</font></font><font size="2">, </font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDbType</font></font><font size="2">.Int);</font><font size="2"> </font>
<p><font size="2">ConDati.Open();</font></p><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataReader</font></font><font size="2"> DatiReader;</font><font size="2"> </font>
<p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">int</font></font><font size="2"> idDati;</font></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">using</font></font><font size="2"> (DatiReader = DatiCmd.ExecuteReader())</font><font size="2"> </font>
<p><font size="2">{</font></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">while</font></font><font size="2"> (DatiReader.Read())</font><font size="2"> </font>
<p><font size="2">{</font></p><font size="2">idDati = (</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">int</font></font><font size="2">)(DatiReader[</font><font color="#a31515" size="2"><font color="#a31515" size="2">"id"</font></font><font size="2">]);</font><font size="2"> </font>
<p><font size="2">AnagraficaCmd.Parameters[</font><font color="#a31515" size="2"><font color="#a31515" size="2">"@id"</font></font><font size="2">].Value = idDati;</font></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">using</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlDataReader</font></font><font size="2"> AnagraficaReader = AnagraficaCmd.ExecuteReader())</font><font size="2"> </font>
<p><font size="2">{</font></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">while</font></font><font size="2"> (AnagraficaReader.Read())</font><font size="2"> </font>
<p><font size="2">{</font></p><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"Dati: "</font></font><font size="2"> + AnagraficaReader[</font><font color="#a31515" size="2"><font color="#a31515" size="2">"nazione"</font></font><font size="2">]);</font><font size="2"> </font>
<p><font size="2">}</font></p>
<p><font size="2">}</font></p>
<p><font size="2">}</font></p>
<p><font size="2">}</font></p>
<p><font size="2"></font> </p>
<p><font size="2">}</font></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">catch</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">SqlException</font></font><font size="2"> exdb)</font><font size="2"> </font>
<p><font size="2">{</font></p><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"ERrore:"</font></font><font size="2"> + exdb.Message);</font><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">return</font></font><font size="2">;</font><font size="2"> </font>
<p><font size="2">}</font></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">catch</font></font><font size="2"> (</font><font color="#2b91af" size="2"><font color="#2b91af" size="2">Exception</font></font><font size="2"> ex)</font><font size="2"> </font>
<p><font size="2">{</font></p>
<p><font size="2"></font><font color="#2b91af" size="2"><font color="#2b91af" size="2">MessageBox</font></font><font size="2">.Show(</font><font color="#a31515" size="2"><font color="#a31515" size="2">"ERrore:"</font></font><font size="2"> + ex.Message);</font></p><font size="2"></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">return</font></font><font size="2">;</font><font size="2"> </font>
<p><font size="2">}</font></p>
<p><font size="2">ConDati.Close();</font></p>
<p><font size="2">}</font></p><img src ="http://blog.shareoffice.it/emanuele/aggbug/9915.aspx" width = "1" height = "1" /></body></item></channel></rss>
