关于SqlCommand对象的2个方法:ExecuteNonQuery 方法和ExecuteScalar方法
1.SqlCommand.ExecuteNonQuery 方法
对连接执行 Transact-SQL 语句并返回受影响的行数。
语法:public override int ExecuteNonQuery()
返回值:
类型:System.Int32
受影响的行数
注意:
①对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。
如果正在执行插入或更新操作的表上存在触发器,则返回值包括受插入或更新操作影响的行数以及受一个或多个触发器影响的行数。
对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。
②该语句不适用select语句。
在查询表中是否有(某条)数据的时候,一定不能用select sql语句+ cmd.ExecuteNonQuery(),通过判断返回值是否大于0来判断。
解决方案:
Ⅰ.SqlCeCommand.ExecuteScalar 方法 ( + 聚合查询)
执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行。 例如一个聚合值。
cmd.CommandText = "select count(*) from users where id = 10000;" 例如一个聚合值。
int count = (int)cmd.ExecuteScalar() ;
Ⅱ.用ExcuteReader()方法返回一个reader
if(reader.Read() == false) { ...}
2.SqlCommand.ExecuteScalar 方法
执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。
语法:public override Object ExecuteScalar()
返回值
类型:System.Object
结果集中第一行的第一列;如果结果集为空,则为空引用(在 Visual Basic 中为 Nothing)。
注意:
使用ExecuteScalar方法从数据库中检索单个值(例如一个聚合值)。与使用ExecuteReader方法,然后使用 SqlDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少。
典型的ExecuteScalar查询可以采用类似下面C#示例的格式:
cmd.CommandText="SELECT COUNT(*) FROM dbo.region";
Int32 count=(Int32)cmd.ExecuteScalar();
关于SqlCommand对象的2个方法:ExecuteNonQuery 方法和ExecuteScalar方法的更多相关文章
- 问题:ExecuteNonQuery 与 ExecuteScalar 结果: ExecuteNonQuery方法和ExecuteScalar方法的区别
ExecuteNonQuery方法和ExecuteScalar方法的区别 ----ExecuteNonQuery():执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进 ...
- 记录一个python公式罗列的方法 join()方法和map()方法的妙用
题干: 怎样将一个列表中的元素读出,并列出计算式子 比如:[,,,] 输出:+++ = 列表中的元素个数不定 小白和大神的方法: #小白的 numlist=[,,,] sum1='' cal='+' ...
- Java 如何重写对象的 equals 方法和 hashCode 方法
前言:Java 对象如果要比较是否相等,则需要重写 equals 方法,同时重写 hashCode 方法,而且 hashCode 方法里面使用质数 31.接下来看看各种为什么. 一.需求: 对比两个对 ...
- Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别? 线程的sleep()方法和yield()方法有什么区别?
Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别? sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间 ...
- java 集合 HashSet 实现随机双色球 HashSet addAll() 实现去重后合并 HashSet对象去重 复写 HashCode()方法和equals方法 ArrayList去重
package com.swift.lianxi; import java.util.HashSet; import java.util.Random; /*训练知识点:HashSet 训练描述 双色 ...
- Hibernate中evict方法和clear方法说明
Hibernate中evict方法和clear方法说明 先创建一个对象,然后调用session.save方法,然后调用evict方法把该对象清除出缓存,最后提交事务.结果报错: Exception i ...
- Android HTTP实例 使用GET方法和POST方法发送请求
Android HTTP实例 使用GET方法和POST方法发送请求 Web程序:使用GET和POST方法发送请求 首先利用MyEclispe+Tomcat写好一个Web程序,实现的功能就是提交用户信息 ...
- wait方法和sleep方法的区别
一.概念.原理.区别 Java中的多线程是一种抢占式的机制而不是分时机制.线程主要有以下几种状态:可运行,运行,阻塞,死亡.抢占式机制指的是有多个线程处于可运行状态,但是只有一个线程在运行. ...
- OC类的本质,深入探讨,load方法和initialize方法
1:类的本质:类也是一种类,可以叫做类类,类对象,类类型: 2:类和对象在内存中分配问题(注意区分类的对象和类对象的概念) 类对象在内存中只有一份,且只加载一次,类对象中存放了类中定义的方法: 而成员 ...
随机推荐
- JavaScript学习(二)
比如isNaN("100")会返回true 注意:parseInt()的参数必须以数字开头
- @property专题
“属性” (property)作为 Objective-C 的一项特性,主要的作用就在于封装对象中的数据. Objective-C 对象通常会把其所需要的数据保存为各种实例变量.实例变量一般通过“存取 ...
- 并发编程---Process对象的其他属性或方法
Process对象的其他属性或方法 #join方法 from multiprocessing import Process import time,os ''' 需求:让主进程等着子进程运行完毕,才能 ...
- 这可能是由于 CredSSP 加密 Oracle 修正。
1.Win+R 输入regedit打开注册表 找到对应的以下目录 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Polici ...
- vue-element-dialog使用
logout() { this.$confirm("你确定退出吗?", "提示:", { confirmButtonText: "确定", ...
- box-shadow outline 实现双边框 阴影
文字阴影 text-shadow box-shadow 格式:text-shadow:x y blur color, … 参数 x 横向偏移 y 纵向偏移 blur ...
- 【Java】-NO.13.Java.1.Foundation.1.001-【Java IO】-
1.0.0 Summary Tittle:[Java]-NO.13.Java.1.Foundation.1.001-[Java IO]- Style:Java Series:Foundation Si ...
- OpenShift Origin 基本命令
用户管理 $ oc login #登陆$ oc logout #注销$ oc login -u system:admin -n default #以系统管理身份登陆并指定项目$ oc login ht ...
- 项目发布脚本-nginx
#!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin clear printf &q ...
- maven设置每次构建获取最新版本号
build.gradle中的依赖是通过设置maven依赖实现.我们知道,maven可以说是通过一个坐标定位来确定唯一一个包的,所说的坐标定位分别是groupId,artifactId和version三 ...