C#中ExecuteNonQuery返回值注意点分析
针对C#中ExecuteNonQuery()返回值注意点,我为大家准备了以下完整攻略:
1. ExecuteNonQuery()方法的用途
ExecuteNonQuery()方法在C#中是通过SqlConnection对象执行SQL语句的方法之一,它主要用于执行不返回数据集的SQL语句,比如INSERT、UPDATE、DELETE等操作,即执行非查询语句。在这些SQL语句执行后,ExecuteNonQuery()方法会返回受影响的行数。
2. ExecuteNonQuery()方法返回值的含义
ExecuteNonQuery()方法返回一个整数,代表执行SQL语句所影响的行数,即插入、修改或删除的行数。如果执行失败,返回值将是-1。
注意:如果使用了带有OUTPUT参数的存储过程,该方法的返回值将是受影响的行数和输出参数值的总和,这时你需要通过参数获取实际返回值。
3. 示范示例
示例一
string connStr = "server=xxx;database=xxx;uid=xxx;pwd=xxx";string sqlStr = "update Student set Score='90' where Id='001'";SqlConnection conn = new SqlConnection(connStr);try{ conn.Open(); SqlCommand cmd = new SqlCommand(sqlStr, conn); int rows = cmd.ExecuteNonQuery(); // 执行SQL语句,返回受影响的行数 if(rows > 0) { Console.WriteLine("数据更新成功!"); } else { Console.WriteLine("数据更新失败!"); }}catch (Exception ex){ Console.WriteLine(ex.Message);}finally{ conn.Close();}示例二
string connStr = "server=xxx;database=xxx;uid=xxx;pwd=xxx";string sqlStr = "insert into Student values('001','小明','男',18)";SqlConnection conn = new SqlConnection(connStr);try{ conn.Open(); SqlCommand cmd = new SqlCommand(sqlStr, conn); int rows = cmd.ExecuteNonQuery(); // 执行SQL语句,返回受影响的行数 if(rows > 0) { Console.WriteLine("数据插入成功!"); } else { Console.WriteLine("数据插入失败!"); }}catch (Exception ex){ Console.WriteLine(ex.Message);}finally{ conn.Close();}这个例子中,我们通过SqlCommand对象执行SQL语句,该语句是插入语句,将一条学生信息插入到Student表中,并通过ExecuteNonQuery()方法返回受影响的行数,最后根据行数的返回判断是否插入成功。
总结
通过以上两个示例,我们可以看到,ExecuteNonQuery()方法的返回值可以帮助我们判断SQL语句的执行是否成功,并且在实际开发过程中非常实用。遵循规范的代码书写习惯,让我们的程序更加稳定、高效。