知识问答

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语句的执行是否成功,并且在实际开发过程中非常实用。遵循规范的代码书写习惯,让我们的程序更加稳定、高效。