ExecuteScalar】的更多相关文章

在写接口的过程中遇到错误:空对象不能转换为值类型 因为我们使用的是petapoco,经过调试后发现是 object val = cmd.ExecuteScalar() 这一句造成的报错, val = null 因为我执行的是insert语句,而这个方法的功能是:只返回数据集的第一行第一列 解决方案: ①最简单的一种 在service层调用db.Execute这个方法而不是ExecuteScalar方法 ②在sql中增加一句sql代码,select 1; 即可.因为ExecuteScalar是返回…
最近下载了点资料,学了学Android,发现Android入门还算简单,从.NET过渡到Android,也就三七十一天的事. 大伙有空也可以学学... 好了,言归正文,那日,有网友发了一个他们公司的数据层框架的DLL,让我审视(Reflector查看如下): 炸一看框架,支持的数据库种类繁多,看来写框架的人涉及面还挺广的. 往里一看,比较悲催,有广度而无深度,另外数据库种类的dll需要提前引用,那是相当浩大的数据库工程: 框架具体就不过多点评了,在不经意思间,本人看到有一个闪光点,觉的可以和大伙…
ExecuteScalar()方法的作用是: 执行查询,并返回查询所返回的结果集中第一行的第一列.所有其他的列和行将被忽略. 它的返回值时object,若是想判断某条数据在数据库里存不存在便可使用该方法, //sql文 private string m_str_variationInfo = @"SELECT variationinfoMngno FROM sellersandvariationmngtbl WHERE sellerCD= @sellerCD "; //处理 MySql…
C#...cmd.ExecuteNonQuery();是返回执行命令后影响的参数 返回符合你条件的所有语句,如果你要数据库里某张表的数据,说执行这个命令后他返回的是就是这张表的全部数据cmd.ExecuteScalar();返回结果集中的首行首列 //返回的是在符合你SQL语句中的第一行第一例的数据 如果你SQL语句查的是整张表,但是这个命令就只能返回这张表的第一行,第一例的数据…
相关知识: 有些SQL操作,例如SUM,只会从数据库返回一个数据值,而不是多行数据 尽管也可以使用ExecuteReader()返回一个DataReader对象,代表该数据值,但是使用Command对象的ExecuteScalar方法更加方便 ExecuteScalar()方法:该方法只能执行SELECT语句,通常用于统计,例如返回符合条件的记录个数 代码示例: using System; using System.Collections.Generic; using System.Linq;…
一:今天写关于调用sqlhelper类的时候出现了一个异常,我仔细观察没有错误啊,怎么回事:看图 二:出现错误时id的结果是0,也就是说ExcuteScalar的结果是null,明明数据库里有多行数据,首行首列不应该是空啊,我将id改为int类型进一步验证,如下图,此时没有出错,,但不知这个0是怎么回事 三:之前是用Tostring()转换,接下来我用Convert ToString()转换,却没有出现异常,如下图,结果设么也看不到,进一步证明了是null的说法,但为什么会出现这样的不同呢? 四…
本文来自:http://www.cnblogs.com/zhouxiaxue/archive/2006/05/12/398266.html http://www.cnblogs.com/yaoxc/archive/2013/06/15/3137343.html 主要有这么几种,cmd.ExecuteReader();cmd.ExecuteNonQuery();cmd.ExecuteScalar();cmd.ExecuteXmlReader();) 1,ExecuteReader();返回一个Sq…
本文来自:http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executescalar(v=vs.100).aspx 执行查询,并返回查询所返回的结果集中第一行的第一列. 忽略其他列或行. 命名空间:  System.Data.SqlClient程序集:  System.Data(在 System.Data.dll 中) 语法   C# C++ F# VB   public override Obje…
ExecuteScalar运行查询,并返回查询所返回的结果集中第一行的第一列或空引用(假设结果集为空).忽略其它列或行. 使用 ExecuteScalar 方法从数据库中检索单个值. 由于不用创建行集.查找值并关闭行集,所以产生的系统开销很小与使用 ExecuteReader方法,然后使用 SqlDataReader 返回的数据运行生成单个值所需的操作相比,此操作须要的代码较少 cmd.CommandText = "SELECT COUNT(*) FROM dbo.region"; I…
一,ExecuteScalar ExecuteScalar()也返回一个int型变量.如果SQL语句是Select查询,则仅仅返回查询结果集中第一行第一列,而忽略其他行和列.如果SQL语句不是Select查询,则这个返回结果没任何作用.(建议查询数据库时使用) 由于不知道sql语句到底是什么样的结构(有可能是int,有可能是Char等其它,)所以ExecuteScalar()方法返回一个最基本的类型Object,这个类型是所有类型的基类,可以转换为任意类型,所以用前需强制转换. 二,Execut…
1.ExecuteNonQuery方法.该方法执行更新操作,即与UPDATE.INSERT.DELETE等语句有关的操作,在这种情况下,返回值是命令影响的行数.对其他语句,如SET或CREATE,则返回-1,如果发生回滚,返回值也是-1. 2.ExcuteReader方法.它与查询命令一起使用,返回一个数据阅读器对象SqlDataReader类的一个实例.该方法执行更新语句,执行成功后,不会返回任何受影响的数据行. 3.ExecuteScalar方法.如果只想检索数据库信息中的已个值,而不需要返…
C#中ExecuteReader.ExecuteNonQuery.ExecuteScalar.SqlDataReader.SqlDataAdapter应该怎么用? (2013-10-16 13:21:59) 转载▼ 标签: c it 分类: C#学习 对于C#初学者来说,我们通常遇到ExecuteReader.ExecuteNonQuery.ExecuteScalar.SqlDataReader.SqlDataAdapter这些对象或者方法的时候就开始犯晕,不知道哪个对象适合用增删改,哪个对象适…
----ExecuteNonQuery():执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进行操作(如记录的增加.删除和更新),那么方法将返回操作所影响的记录条数.----ExecuteScalar():执行命令对象的SQL语句,如果SQL语句是SELECT查询,则仅仅返回查询结果集中的第1行第1列,而忽略其他的行 和列.该方法所返回的结果为object类型,在使用之前必须强制转换为所需的类型.如果SQL语句不是SELECT查询,则返回结果没有任何作用. ---…
1.SqlCommand.ExecuteNonQuery 方法 对连接执行 Transact-SQL 语句并返回受影响的行数. 语法:public override int ExecuteNonQuery() 返回值: 类型:System.Int32 受影响的行数 注意: ①对于 UPDATE.INSERT 和 DELETE 语句,返回值为该命令所影响的行数. 如果正在执行插入或更新操作的表上存在触发器,则返回值包括受插入或更新操作影响的行数以及受一个或多个触发器影响的行数. 对于所有其他类型的…
ExecuteNonQuery()执行命令对象的SQL语句,返回一个int 类型的变量,返回数据库操作之后影响的行数.适合用来验证对数据库进行增删改的情况. 2.ExecuteScalar()也可以执行sql语句.如果SQL语句是Select查询,则仅仅返回查询结果集中第一行第一列,而忽略其他行和列.如果SQL语句不是Select查询,则这个返回结果没任何作用.(建议查询数据库时使用) 由于不知道sql语句到底是什么样的结构(有可能是int,有可能是Char等其它,)所以ExecuteScala…
ExecuteScalar is typically used when your query returns a single value. If it returns more, then the result is the first column of the first row. An example might be SELECT @@IDENTITY AS 'Identity'. ExecuteReader is used for any result set with multi…
ExecuteNonQuery   针对 Connection 执行 SQL 语句并返回受影响的行数. 返回值 受影响的行数. 备注 您可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 UPDATE.INSERT 或 DELETE 语句,在不使用 DataSet 的情况下更改数据库中的数据. 虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充. 对于 UPDATE.INSE…
ExecuteNonQuery方法 :执行非查询SQL操作,包括增insert.删delete.改update ExcuteReader方法 :执行查询,返回DataReader,通过DataReader的对象dr["列名"] 可以取得数据,一次读一行,可以通过while(dr.Read())进行循环读取 ExecuteScalar方法 :执行查询,只返回一个数据 在连接SQL Server数据库:首先创建SqlConnection类和SqlCommand类实例分别用于连接到SQL S…
c#数据查询输出 2012-07-17 17:07 1.使用ExecuteReader()操作数据库 2.使用ExecuteNonQuery()操作数据库 3.使用ExecuteScalar()操作数据库 4.使用DataSet数据集插入记录.更新数据. 1.使用ExecuteReader()操作数据库,执行查询操作的利器 ExecuteReader相比与DataSet而言,DataReader具有较快的访问能力,并且能够使用较少的服务器资源.DataReader对 象提供了“游标”形式的读取方…
ExecuteNonQuery方法和ExecuteScalar方法的区别 ----ExecuteNonQuery():执行命令对象的SQL语句,返回一个int类型变量,如果SQL语句是对数据库的记录进行操作(如记录的增加.删除和更新),那么方法将返回操作所影响的记录条数. ----ExecuteScalar():执行命令对象的SQL语句,如果SQL语句是SELECT查询,则仅仅返回查询结果集中的第1行第1列,而忽略 其他的行 和列.该方法所返回的结果为object类型,在使用之前必须强制转换为所…
using System.Data.SqlClient;...SqlConnection conn = new SqlConnection(@"server=ws7\leosql;database=AdventureWorks;uid=sa;pwd=lixiang@");try{    conn.Open();    SqlCommand cmd = new SqlCommand("SELECT * FROM Person.Address", conn);    S…
ExecuteScalar这个方法是从数据库中检索单个值返回值是object类型,必须用与它在数据库里存放的类型相同类型或者可以转换成的类型,比如数据是nchar类型值为 "123" 就可以用(int)ExecuteScalar(),如果数据是nchar类型值为 "abc"就不能用(int)ExecuteScalar(),就得写string result = ExecuteScalar().ToString ExecuteScalar 的规则就是,返回第一列,第一行…
ExecuteScalar()方法的作用是: 执行查询,并返回查询所返回的结果集中第一行的第一列.所有其他的列和行将被忽略. 1.返回的是一个object类型,也就是说是所有数据类型的基类,可根据select所得的第一列的数据类型转换为对应的数据类型 例: string strConn = "Data Source=(local);Initial Catalog=paperManage;Integrated Security=True"; SQLConnection objConn =…
本人遇到的一个小问题,希望能帮助大家 出现这个问题就是在此操作之前已经被的程序关闭了连接,比如在执行这块代码之前不幸执行了存储过程..,就会导致这个问题发生…
通过ef core 源码分析 Microsoft.EntityFrameworkCore.Storage.RelationalCommandExtensions类中有相应的方法 为此得到相应的结果: 为此在我们的数据上下文中拓展方法: public async Task<DbDataReader> ExecuteReaderAsync(RawSqlString sql, params object[] parameters) { using (await Database.GetService…
1. Connection 类 和数据库交互,必须连接它.连接帮助指明数据库服务器.数据库名字.用户名.密码,和连接数据库所需要的其它参数.Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令.  属性: CommandTimeout 这义了使用 Execute 方法运行一条 SQL 命令的最长时限,能够中断并产生错误.默认值为30秒,设定为0表示没有限制 ConnectionString 设定连接数据源的信息,包括 FlieName.Password.U…
using System; using System.Data; using System.Data.SQLite; namespace SqliteConsoleApp { /// <summary> /// SQLite 助手 /// </summary> public sealed class SQLiteHelper { private const string ConnectionStr = "Data Source=recipes.s3db"; pr…
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库完成一个法律咨询管理系统.本系统要求类似网页后台管理效果,并且基于局域网内,完成多客户端操作同一数据库,根据权限不同分别执行不同功能模块.核心模块为级联统计类型管理.数据库咨询数据扇形统计.树的操作.咨询数据的管理.手写分页.Excel数据的导出.多用户操作服务器数据等.并支持多用户同时操作,远程连…
以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞,大家相信很熟悉了. 不懂得简单了解下,懂的大牛直接飘过即可. ***************************************************************************** 当我们用御剑之类的扫描器扫描到某些有这个万能密码SQL注入的漏洞网站后台后, 打开…
最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美>,当然,我不是做广告的,只因它确实还可以),里面关于二者之间的区别及原理讲得很清楚,下面我们就进入主题.今天心情不错.... 我们都知道ADO.NET提供了对数据库或外部数据源的数据访问接口,它本身实现了面向连接与面向无连接的数据访问方式.面向连接是以数据库连接为基础的,在打开数据库连接后,将数据访问指令…