A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 包连靖 中级黑马   /  2012-4-18 10:54  /  3554 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

cmd.executeNonQuery();
到底在什么情况下用呢, 我看视频里面有时候用有时候又不用.

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

9 个回复

倒序浏览
执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进行操作(如记录的增加、删除和更新),那么方法将返回操作所影响的记录条数。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
在执行SQL语句  SQL是非查询语句时才用cmd.executeNonQuery();
例如 update 数据表 set 字段名=字段值 where 条件表达式   更新数据时就用cmd.executeNonQuery();
而select * from 数据表  就不用cmd.executeNonQuery();

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
cmd.executeNonQuery()
执行一段不需要返回查询结果的方法  例如update  delete
但是他会返回是否int值 返回受影响的条数

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
cmd.ExecuteNonQuery()  用于数据库操作语句!例如:insert into ,update  ,delete  语句!返回的结果是类似于“对数据库操作返回一个“*行受影响”。
而cmd.ExecuteScalar() 是结果的“结果的第一行第一列的数据值”
而cmd.ExecuteReader()得到一个数据库集,类似于虚拟的数据库表!
这也就是SqlCommand的三个方法!!!

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
哦哦,原来如此.受教了
回复 使用道具 举报
鲍晨 中级黑马 2012-4-18 15:01:33
7#
cmd.executeNonQuery();
执行非查询的啊,NonQuery不就是非查询的简写吗

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
ExecuteNonQuery()方法主要用户更新数据,通常它使用Update,Insert,Delete语句来操作数据库,其方法返回值意义:对于 Update,Insert,Delete  语句 执行成功是返回值为该命令所影响的行数,如果影响的行数为0时返回的值为0,如果数据操作回滚得话返回值为-1,对于这种更新操作 用我们平时所用的是否大于0的判断操作应该没有问题而且比较好,但是对于其他的操作如对数据库结构的操作,如果操作成功时返回的却是-1,这种情况跟我们平时的思维方式有点差距所以应该好好的注意了,例如对数据库共添加一个数据表的Create操作,当创建数据表成功时返回-1,如果操作失败的话(如数据表已经存在)往往会发生异常,所以执行这种操作时最好用try--catch--语句来容错。

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
过客 中级黑马 2012-4-20 16:37:41
9#
ExecuteNonQuery()方法在执行SQL语句的时候用,但sql语句必须是增删改的时候,该方法返回一个int类型的数,表示受影响行数。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
执行非查询操作时使用,例如insert   update  delete  create drop 什么的

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马