SqlCommand.ExecuteNonQuery()的返回值问题

标签: C# 数据库 sql server
12125人阅读 评论(28) 收藏 举报

用法:

sqlcommand.ExecuteNonQuery() 执行select之后,总是返回-1的

sqlcommand.ExecuteNonQuery()返回的是受影响的行数,只对update,delete,insert 有效


详解:

如果sqlcommand.ExecuteNonQuery() 执行select    必须有一个SqlDataReader来接收(SqlDataReader reader = com.ExecuteReader();),判断reader.Read()方法一条显示

SqlDataReader是只读方法,只能读数据库记录。

            string strsql = "select * from 表名";                      
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;//conn是建立数据库连接
            cmd.CommandText = strsql;
            SqlDataReader reader = cmd.ExecuteReader();

    if (reader .Read())
            {
                reader .GetString(int i);//查询结果中字段名的序号               
            }
            else
            {
                //没有查询到记录
            }

如果sqlcommand.ExecuteNonQuery() 执行update,delete,insert 语句时,

sqlcommand.ExecuteNonQuery() 返回值为受影响行数



查看评论

vs2012 C# sqlserver ExecuteNonQuery()方法详解 返回值为-1

关于ExecuteNonQuery() 方法 以前对这个一直都没在意,基本上都没有用其返回值,查了一下MSDN,如下: SqlCommand.ExecuteNonQuery 方法对连接执行 Tra...
  • wyx100
  • wyx100
  • 2015-01-29 10:32:50
  • 2459

ExecuteNonQuery方法和ExecuteScalar方法的区别

转自http://hi.baidu.com/shudaizi88/blog/item/34bb5b9bb79d7bbbc8eaf420.html   ----ExecuteNonQuery():执...
  • peng_bin1989
  • peng_bin1989
  • 2012-04-01 11:43:25
  • 19087

注意 ExecuteNonQuery() 返回值 问题

                前些日子作一些数据项目的时候 在ADO.NET 中处理 ExecuteNonQuery()方法时,总是通过判断其返回值是否大于0来判断操作时候成功 。但是实际上并不是这...
  • huomm
  • huomm
  • 2007-12-05 20:43:00
  • 13769

关于ExecuteNonQuery()执行成功却返回-1的问题

对于增删改数据,一般判断ExecuteNonQuery()是否大于0  mark= Comm.ExecuteNonQuery()>0?true:false;   注意:关于ExecuteNo...
  • luck901229
  • luck901229
  • 2013-03-19 14:48:40
  • 7886

[C#]ExecuteNonQuery()返回值注意点

查询某个表中是否有数据的时候,我用了ExecuteNonQuery(),并通过判断值是否大于0来判断数据的存在与否。结果与我所设想的很不一致,调试时才发现,其执行后返回的结果是-1,对此我很是不理解,...
  • cdhql
  • cdhql
  • 2011-02-18 12:35:00
  • 12870

SqlCommand的ExecuteNonQuery 方法使用Select命令返回值永远为 -1

今天想用ExecuteNonQuery方法select表中符合的内容实现登录框,然后判断返回行是否大于0,但是一直返回-1,郁闷了很久。 查msdn,上面备注说了: 您可以使用 Execute...
  • leestar54
  • leestar54
  • 2011-09-07 22:37:41
  • 2702

SqlCommand.ExecuteNonQuery与SqlCommand.ExecuteScalar的区别

SqlCommand.ExecuteScalar   执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。返回值是Object类型,一般插入的时候用该命令可以返回插入这条数据的自增ID...
  • xiaoning8201
  • xiaoning8201
  • 2011-07-28 10:40:19
  • 2414

.net使用中sqlcommand的用法

SqlCommand()方法 SqlCommand cmd = new SqlCommand("insert into mynews value ('插入一条新数据')", con);     C...
  • jintougao
  • jintougao
  • 2013-02-18 14:01:54
  • 40031

ExecuteNonQuery

ExecuteNonQuery 对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1示例:   ...
  • zhvsby
  • zhvsby
  • 2010-11-10 15:04:00
  • 676

executenonquery 返回值

 前些日子作一些数据项目的时候 在ADO.NET 中处理 ExecuteNonQuery()方法时,总是通过判断其返回值是否大于0来判断操作时候成功 。但是实际上并不是这样的,好在处理的数据操作...
  • qingtiancx
  • qingtiancx
  • 2014-07-23 10:54:48
  • 99
    个人资料
    持之以恒
    等级:
    访问量: 29万+
    积分: 6508
    排名: 4631
    文章分类
    最新评论