zoukankan      html  css  js  c++  java
  • ExecuteNonQuery()返回受影响行数不适用select语句

    SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。
    对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1
    所以在查询表中是否有(某条)数据的时候,一定不能用select sql语句+ cmd.ExecuteNonQuery(),通过判断返回值是否大于0来判断。
    解决方案:

    1.

    SqlCeCommand.ExecuteScalar 方法 ( + 聚合查询)

    执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行。 例如一个聚合值。

    cmd.CommandText = "select count(*) from users where id = 10000;"  例如一个聚合值。

    int count = (int)cmd.ExecuteScalar() ;

    2.

    用ExcuteReader()方法返回一个reader

    if(reader.Read() == false) { ...}

  • 相关阅读:
    NC 5的开发环境起不了客户端
    NC 6系初始化EJB
    ubuntu安装javaweb
    html 优化
    ubuntu
    jquery
    前端优化
    京东设计中心
    html cookie
    html5 use video camera
  • 原文地址:https://www.cnblogs.com/xiaohui1990/p/3475615.html
Copyright © 2011-2022 走看看