Originariamente inviato da ciupaz
e ho creato il metodo:
private void InsertNewUser
e ne dovresti creare anche uno molto simile per fare l'update. Quindi perche' non fare un unico metodo simile a
codice:
private int executeCommand(string _spName, bool _isUpdate)
{
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
try
{
SqlCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = _spName;
if (_isUpdate == true)
{
cmd.Parameters.Add(new SqlParameter("@tuocampoid", System.Data.SqlDbType.Int));
cmd.Parameters["@tuocampoid"].Value = tuocampoid;
}
cmd.Parameters.Add(new SqlParameter("@name", System.Data.SqlDbType.VarChar,200));
cmd.Parameters.Add(new SqlParameter("@surname", System.Data.SqlDbType.VarChar,200));
cmd.Parameters.Add(new SqlParameter("@email", System.Data.SqlDbType.VarChar,200));
cmd.Parameters.Add(new SqlParameter("@userid", System.Data.SqlDbType.VarChar,200));
cmd.Parameters.Add(new SqlParameter("@note", System.Data.SqlDbType.VarChar,4000));
cmd.Parameters["@name"].Value = name;
cmd.Parameters["@surname"].Value = surname;
cmd.Parameters["@email"].Value = email;
cmd.Parameters["@userid"].Value = userid;
cmd.Parameters["@note"].Value = note;
conn.Open();
return cmd.ExecuteNonQuery();
}
finally
{
conn.Close();
}
}
non so se funziona cosi come ma potrebbe essere una traccia per ridurre del 50% il codice. p.s. non c'e' bisogno di passare come parametri tutti i valori basterebbe dichiarare fuori dalla funzione updatecommand le variabili e riempirle prima di chiamare executecommand.