如何知道数据是否已成功插入数据库,或者执行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();
答案 0 :(得分:2)
您可以检查ExecuteNonQuery()的返回值。
像这样:
int rowsAffected = cmd.ExecuteNonQuery();
如果发生任何错误,它会抛出异常。
答案 1 :(得分:1)
这应该回答你的问题:
对于UPDATE,INSERT和DELETE语句,返回值为 受命令影响的行数。当a上存在触发器时 正在插入或更新的表,返回值包括数字 受插入或更新操作影响的行数和数字 受触发器或触发器影响的行数。对于所有其他类型的 语句,返回值为-1。如果发生回滚,则返回 值也是-1。
来源:https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx
答案 2 :(得分:0)
cmd.ExecuteNonQuery()
将抛出异常。
如果你真的是偏执狂,你可以检查cmd.ExecuteNonQuery()
方法调用的返回值,并验证它为刚插入的记录返回一(1)。
注意:请考虑使用参数绑定而不是字符串连接,以避免使自己受到SQL注入和简单的引用错误。