Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
02/05/10 22:30
sps84
Ciao a tutti, continua la mia esperienza in c#. Tempo fa mi serviva sapere se data una tabella 'Articoli' con due colonne 'Cod' e 'Qta', come inserire e/o aggiornare la quantità di un articolo... senza usare stored procedure... il risultato è questo Sono graditi tutti i commenti possibili! :) e anche altre soluzioni a me non note!!


SqlConnection conn = new SqlConnection();
try
{
conn.ConnectionString = @"Data Source=PC-SPS\SQLEXPRESS;Initial Catalog=prova;User ID=Io; Password=123";
conn.Open();

SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Select Cod,Qta From Articoli Where Cod = '" + textBox1.Text.ToString().Trim() + "'";
SqlDataReader rd = cmd.ExecuteReader(CommandBehavior.SingleRow);

SqlCommand cmdAgg = new SqlCommand();

if(rd.Read())
{
//MessageBox.Show("E' stato trovato l'articolo con esistenza: " + rd["Qta"].ToString());
int first = Convert.ToInt16(rd["Qta"].ToString());
rd.Close();
int second = first + int.Parse(textBox2.Text);
cmdAgg.CommandText = "Update Articoli Set Qta=" + second + " Where Cod = '" + textBox1.Text + "'";
cmdAgg.Connection = conn;

cmdAgg.ExecuteNonQuery(); 


}
else
{
//MessageBox.Show("Non è stato trovato l'articolo " + textBox1.Text + ".");
rd.Close();                    
cmdAgg.CommandText = "Insert into Articoli (Cod, Qta) values('" + textBox1.Text.ToString().Trim() + "'," + int.Parse(textBox2.Text.ToString()) + ")";
cmdAgg.Connection = conn;
cmdAgg.ExecuteNonQuery();
}

}
catch (SqlException err)
{
MessageBox.Show("Errore accesso db: " + err.Message);
}
finally
{
conn.Close();
}


:)
aaa
03/05/10 10:41
HeDo

ormai con l'avvento di Entity Framework il codice ado.net è obsoleto.
oltre al fatto che un uso più saggio degli oggetti SqlCommand utilizzando magari i parameters per settare i valori sarebbe meglio.

aaa
03/05/10 12:34
sps84
aaa
03/05/10 12:36
HeDo
è quello.

se ti interessa l'argomento approfondisci anche linq to entities, ti si aprirà un mondo.
msdn.microsoft.com/it-it/library/…
Ultima modifica effettuata da HeDo 03/05/10 12:37
aaa
03/05/10 20:29
sps84
Grazie adesso mi ci metto sotto...:heehee::heehee:
aaa