ExecuteNonQuery()返回值的几种情况
ExecuteNonQuery()方法主要用户更新数据,通常它使用Update,Inrt,Delete语句来操作数据库,其方法返回值意义:对于 Update,Inrt,Delete语句执行成功是返回值为该命令所影响的行数,如果影响的行数为0时返回的值为0,如果数据操作回滚得话返回值为-1。
(回滚的意思:删除由一个或多个部分完成的事务执行的更新。为在应用程序、数据库或系统错误后还原数据库的完整性,需要使用回滚。回滚泛指程序更新失败, 返回上一次正确状态的行为)
对于这种更新操作 用我们平时所用的是否大于0的判断操作应该没有问题而且比较好,但是对于其他的操作如对数据库结构的操作,如果操作成功时返回的却是-1,这种情况跟我们平时的思维方式有点差距所以应该好好的注意了。
例如对数据库共添加一个数据表的Create操作,当创建数据表成功时返回-1,如果操作失败的话(如数据表已经存在)往往会发生异常,所以执行这种操作时最好用try--catch--语句来容错。
简单意思是用sql语句创建数据库,创建数据表等等一些对数据库结构的操作最好不要用大于0来判断是否操作成功。
扩展资料
c#数据执行方法:
1、使用ExecuteReader()操作数据库,执行查询操作的非常好的方法。
ExecuteReader比DataSet而言,DataReader具有较快的访问能力,并且能够使用较少的服务器资源。DataReader对象提供了游标形式的读取方式,当从结果行中读取了一行,则游标会继续读取到下一行。
通过read方法可以判断数据是否还有下一行,如果存在数据,则继续运行返回true,如果没有数据,则返回fal。DataReader可以提高执行效率,基于序号的查询可以使用DataReader。
使用ExecuteReader()操作数据库,通常情况下是使用ExecuteReader()进行数据查询操作,使用ExecuteReader()查询数据能够提升查询效率,而如果需要进行数据库事务处理的话,ExecuteReader()并不是一个理想的选择。
2、使用ExecuteNonQuery(),ExecuteScalar()操作数据库,执行增删改操作的利器
ExecuteNonQuery()通常情况下为数据库事务处理的首选,当需要执行插入,删除,修改等操作时,首选ExecuteNonQuery(),ExecuteNonQuery()执行成功返回的是一受影响的行数,对于"Create Table"和"Drop Table"语句,返回值是0。
而对于其他类型的语句,返回值是-1,ExecuteNonQuery()操作数据时,可以不使用DataSet直接更改数据库中的数据。
ExecuteScalar()方法也可以用来执行SQL语句,但是executescalar()执行SQL语句后返回值与ExecuteNonQuery()并不相同,executescalar()方法的返回值的数据类型是object。
如果执行的SQL语句是查询语句,则返回结果是查询后的第一行第一列,如果执行的SQL语句不是一个查询语句,则会返回一个未实例化的对象,必须通过类型装换来显示。
一般情况下,ExecuteNonQuery()操作后返回的是一个值,而executescalar()操作后则会返回一个对象,executescalar()经常使用当需要返回单一值时的情况。例如当插入一条数据信息时,需要马上知道刚才插入的值,则可以使用executescalar()方法。
ExecuteNonQuery()怎么用
“cmd.ExecuteNonQuery()”是什么意思?
这是关于Sql语句中的语句,cmd.ExecuteNonQuery会有一个返回值,将值赋值给整型count,返回受影响的行数值。
执行SQL句,返回受影响行数(判断执行SQL句是否成功)。
ExecuteNonQuery();与ExecuteNonQuery()>0;各有什么意思
ExecuteNonQuery执行一个SqlCommand,该命令返回受操作影响的行数,该命令主要用于确定操作是否成功,比如插入、删除和更新操作,如果受影响的行数为0,则证明不成功。大于0表示操作成功。
用于这种更新操作与我们通常的判断是大于0的操作应该没有问题,是更好的,但对于其他操作,如数据库的操作结构,如果返回-1操作成功时,这种情况与我们平常的思维方式有点差距所以应该注意了。
简单意味着使用SQL语句创建数据库、创建数据表等。数据库结构上的某些操作最好不要使用大于0的值来判断操作是否成功。
扩展资料:
c#数据执行方法:
1.使用ExecuteReader()操作数据库执行查询操作的好方法。
ExecuteReader具有比数据集更快的访问速度,并且可以使用更少的服务器资源。DataReader对象以读取方式提供游标,当从结果行读取一行时,游标将继续读取下一行。
read方法用于确定下一行数据是否存在。如果有数据,它将继续运行并返回true。如果没有数据,则返回fal。DataReader可以提高执行效率,并可用于基于序列号的查询。
使用ExecuteReader()操作数据库(通常用于数据查询操作)可以通过使用ExecuteReader()查询数据来提高查询效率,如果需要数据库事务,那么ExecuteReader()不是理想的选择。
2.使用ExecuteNonQuery()、ExecuteScalar()对数据库进行操作、添加、删除和更改操作
ExecuteNonQuery()通常是数据库事务的首选方法,在插入、删除和修改等操作时首选ExecuteNonQuery()。ExecuteNonQuery()在成功执行时返回受影响的行数,“创建表”和“删除表”语句的返回值为0。
对于其他类型的语句,返回值为-1,ExecuteNonQuery()可以操作数据,而不需要使用数据集直接更改数据库中的数据。
ExecuteScalar()方法也可以用来执行SQL语句,但是ExecuteScalar()不会返回与ExecuteNonQuery()相同的值,ExecuteScalar()方法返回值的数据类型为object。
如果执行的SQL语句是一个查询,则结果是查询后的第一行和第一列。如果执行的SQL语句不是查询,则返回未实例化的对象,并且必须通过类型加载来显示。
通常,ExecuteNonQuery()操作返回一个值,而executescalar()操作返回一个对象,当需要返回单个值时,executescalar()通常使用该对象。例如,当插入数据消息并且需要立即知道刚刚插入的值时,可以使用executescalar()方法。
本文发布于:2023-02-28 20:20:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/167767005781457.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:executenonquery.doc
本文 PDF 下载地址:executenonquery.pdf
| 留言与评论(共有 0 条评论) |