码迷,mamicode.com
首页 > Windows程序 > 详细

C#中ExecuteNonQuery()返回值注意点分析

时间:2017-11-13 23:21:23      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:related   地址   parent   sql 语句   plugins   span   压缩   padding   query   

本文实例讲述了C#中ExecuteNonQuery()返回值注意点。对于C#数据库程序设计有一定的借鉴价值。分享给大家供大家参考之用。具体分析如下:

首先,在查询某个表中是否有数据的时候,我们通常用ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否。结果与我所设想的很不一致,调试时才发现,其执行后返回的结果是-1,对此我很是不理解,回头查了下资料,如下显示:

SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。

备注:

可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据。

虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1

看完后才明白,原来select语句不适合ExecuteNonQuery()方法,原来是这样,方法用错了!现在特意把它记录下来,希望朋友不要犯类似的错误!

public int ExecuteNonQuery();

返回值

受影响的行数。

实现

IDbCommand.ExecuteNonQuery

备注:

你可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据。


虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。


对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于其他所有类型的语句,返回值为 -1。

public void CreateMySqlCommand(string myExecuteQuery, SqlConnection myConnection)
{
   SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection);
   myCommand.Connection.Open();
   myCommand.ExecuteNonQuery();
   myConnection.Close();
}

相信本文所述对大家的C#程序设计有一定的借鉴价值。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#中ExecuteNonQuery()返回值注意点分析

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23578.html






相关内容

C#中ExecuteNonQuery()返回值注意点分析

标签:related   地址   parent   sql 语句   plugins   span   压缩   padding   query   

原文地址:http://www.cnblogs.com/paobuke/p/7828237.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!