Ive ha utilizzato questo metodo prima per restituire la quantità di righe modificate. Io sono per eseguire un metodo di inserimento, l'inserto viene eseguito correttamente nella stored procedure, ma il valore restituito da ExecuteNonQuery restituisce sempre -1.C#: ExecuteNonQuery() restituisce -1
Ecco il mio codice C#:
int ret = 0;
using (SqlConnection conn = new SqlConnection(this.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand(QueryName, conn))
{
conn.Open();
if (Params != null)
cmd.Parameters.AddRange(Params);
cmd.CommandType = CommandType.StoredProcedure;
ret = cmd.ExecuteNonQuery();
conn.Close();
}
}
return ret;
Perché ricevo -1 al posto del numero effettivo di righe cambiato?
Quindi le modifiche nella tabella hanno effettivamente luogo ma stai ricevendo -1? – Tudor
Probabilmente restituisce qualsiasi cosa restituisca il tuo sproc, che è probabilmente -1 se non diversamente specificato. –
Hai effettivamente catturato la chiamata SQL usando il profiler ed eseguito manualmente per vedere il numero di riga modificato effettivo? –