确定ExecuteNonQuery已成功执行

本文关键字:执行 成功 ExecuteNonQuery 确定 | 更新日期: 2023-09-27 18:00:05

如何知道数据是否成功插入数据库,或者在执行ExecuteNonQuery()时是否发生错误?

con.Open();
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into DOCUMENT(NUM_D_ORDRE_DOC,ID_PERSONE,TYPE_DOC,PRIX_DOC,DATE_DE_MISE_EN_CHARGE,DATE_CREATION)values('"+TextBox1.Text+"','1','"+TextBox2.Text+"','"+TextBox4.Text+"','"+TextBox3.Text+"','"+ @DateTime.Now + "');";
cmd.ExecuteNonQuery();
con.Close();

确定ExecuteNonQuery已成功执行

您可以检查ExecuteNonQuery()的返回值。

像这样:

int rowsAffected = cmd.ExecuteNonQuery();

如果出现任何错误,它将抛出异常。

更多信息:ExecuteNonQuery方法

这应该可以回答您的问题:

对于UPDATE、INSERT和DELETE语句,返回值为受命令影响的行数。当触发器存在于正在插入或更新的表,返回值包括数字受插入或更新操作和编号影响的行数受触发器影响的行数。对于所有其他类型的语句,返回值为-1。如果发生回滚,则返回值也是-1。

来源:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx

如果由于某种原因插入失败,

cmd.ExecuteNonQuery()将抛出异常。

如果您真的很偏执,可以检查cmd.ExecuteNonQuery()方法调用的返回值,并验证它是否为刚刚插入的记录返回一(1)。

注意:考虑使用参数绑定而不是字符串串联,以避免SQL注入和简单的引用错误。