当前位置: 移动技术网 > IT编程>开发语言>c# > C#中ExecuteNonQuery()返回值注意点分析

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

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例讲述了c#中executenonquery()返回值注意点。对于c#数据库程序设计有一定的借鉴价值。分享给大家供大家参考之用。具体分析如下: 首先,在查询某个表中

本文实例讲述了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#程序设计有一定的借鉴价值。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网