百度
360搜索
搜狗搜索

executescalar用法,怎么ExecuteScalar()也可以update??详细介绍

本文目录一览: ExecuteScalar()方法返回值类型是整形吗?

ExecuteScalar()方法的作用是:
执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
1、返回的是一个object类型,也就是说是所有数据类型的基类,可根据select所得的第一列的数据类型转换为对应的数据类型
例:
string strConn = "Data Source=(local);Initial Catalog=paperManage;Integrated Security=True";
SQLConnection objConn = new SQLconnection(strConn);
SQLCommand objCMD = new SQLCommand(strSQL,objConn);
object objResult = objCMD.ExecuteScalar() //或者 string result = objCMD.ExecuteScalar().toString();
2、当select语句无记录返回时,ExecuteScalar()返回NULL值,无法再将null值赋给任何对象或者变量,否则出现异常:System.NullReferenceException: 未将对象引用设置到对象的实例
例:
若select查询无返回记录,以下代码则会抛出异常:
try
{
string result = objCMD.ExecuteScalar().toString();
}
catch(SQLException ee)
{
MessageBox.show(ee.toString());
}
解决方法是先判断ExecuteScalar()是否为null,再进行相应的处理。
例:
if (objCMD.ExecuteScalar() == null)
{
//为空时的操作
}
else
{
result = objCMD.ExecuteScalar().ToString().Trim();
}
使用 ExecuteScalar() 方法从数据库中检索单个值(例如一个聚合值)。
典型的 ExecuteScalar() 查询可以采用类似于下面的 C# 示例的格式:
cmd.CommandText = "SELECT COUNT(*) FROM dbo.region";
Int32 count = (Int32) cmd.ExecuteScalar();

C#...cmd.ExecuteNonQuery();和cmd.ExecuteScalar();

举个例子 :cmd.ExecuteNonQuery() 用于执行 update ,delete 等操作。可以返回更新了多少行,或者删除了多少行。
cmd.ExecuteScalar(); 可以用来返回像
select count(StudentName)from Students where Sex="男"
这样的语句。返回一个结果值(这里是男生的人数)。
讲的够明白了吧。在不清楚就要自己多看书了咯。
推荐一下 wrox 的 C#高级编程 里面上面的问题讲的很详细。
cmd.ExecuteNonQuery();是返回执行命令后影响的行数
cmd.ExecuteScalar();简单的说就是返回一个值。速度快。
cmd.ExecuteNonQuery();用于增删改
cmd.ExecuteScalar();用于查
C#...cmd.ExecuteNonQuery();是返回执行命令后影响的参数
返回符合你条件的所有语句,如果你要数据库里某张表的数据,说执行这个命令后他返回的是就是这张表的全部数据
cmd.ExecuteScalar();返回结果集中的首行首列
//返回的是在符合你SQL语句中的第一行第一例的数据
如果你SQL语句查的是整张表,但是这个命令就只能返回这张表的第一行,第一例的数据

在ADO.NET编程中, ExecuteReader、ExecuteScalar方法的作用?

ExecuteReader一般用来实例化datareader,比如command的ExecuteReader方法,返回的结果可以直接赋给dr做数据源。
ExecuteScalar也是command的方法,返回查询结果的第一行,第一列,忽略其他行,一般用于返回只有一条记录的查询!

C#中executeScolar()等一些方法的用法

executeScolar()
读取一个单个值,返回一个object,比如在读取最大值 max() ,计算count(),获得单个用户id的时候用这个效率比较高
executeReade()
返回一个reader容器,相当于asp的rs ,单向读取,也就是每次读一个可以控制游标位置一个一个往后移动,单是不能回头
相对于用dataset的方式,大数据量读取的时候这种方式的效率和压力更低,系统优化时候经常这么做!
executeNonQuery()
不需要返回值,执行一条sql语句用,比如插入,删除,更新,可以接收到影响行数
不喜欢考代码,只是来说一下这几种用到的情况
int i = Convert.ToInt32(cmd.ExecuteScalar())
---------------------------------------------------
string conn = "server=(local);database=northwind;integrated security=true;async=true";
DataSet ds = new DataSet();
SqlDataAdapter dadpt = new SqlDataAdapter("select * from [order details]", conn);
dadpt.Fill(ds);
ExecuteReader(),用来执行SQL语句,需要返回值,用SqlDataReader来读值。

sqlcmd.CommandText="SELECT * FROM mytable";
SqlDataReader dr=sqlcmd.ExecuteReader();
====================================
ExecuteNonQuery(),执行一个不需要返回值的SQL语句。

sqlcmd.CommandText="DELETE * FROM mytable";
=====================================
ExecuteScolar(),执行一个返回值的SQL语句,但不像ExecuteReader(),他只返回第一个值。

sqlcmd.CommandText="SELECT * FROM mytable";
int i=(int)sqlcmd.ExecuteScolar();

什么叫返回首行首列

ExecuteScalar()
一般在查询单一数据时用多
比如查询总人数
select count(*) from usertable
查询平均成绩
select avg(*) from scoretable
等等
这样的查询就返回一行一列
用ExecuteScalar比较方便,不用在用reader去读了
ExecuteScalar()
要求:一个表
有一个主键
并且主键在内
查一条记录的主键时一般用
是指ExecuteScalar()方法吗?
首行首列就是指第一行,第一列,ExecuteScalar()方法就是返回这个单元格的值

怎么ExecuteScalar()也可以update??

OracleCommand..::.ExecuteScalar 方法
执行查询,并将查询返回的结果集中第一行的第一列作为 .NET Framework 数据类型返回。忽略额外的列或行。
下面这个是一个插入的例子,官方的,大概更新也没问题吧
static public int AddProductCategory(string newName, string connString)
{
Int32 newProdID = 0;
string sql =
"INSERT INTO Production.ProductCategory (Name) VALUES (@Name); "
+ "SELECT CAST(scope_identity() AS int)";
using (SqlConnection conn = new SqlConnection(connString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@Name", SqlDbType.VarChar);
cmd.Parameters["@name"].Value = newName;
try
{
conn.Open();
newProdID = (Int32)cmd.ExecuteScalar();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
return (int)newProdID;
}

Command对象的ExecuteNonQuery()方法、ExecuteReader()方法及ExecuteScalar()方法的返回值分别为什么?

NonQuery 为影响的记录行数
Reader 为DataReader
Scalar 为sql语句中第一行,第一列的值
ExecuteNonQuery()的返回值int型。
ExecuteReader()返回值是DataReader型的
ExecuteScalar()返回值是object型的
ExecuteNonQuery()的返回值int型,(返回受影响的行数,一般用于插入,增加,删除语句)。
ExecuteReader()返回值是DataReader型的(用来读取信息,一般用于查询语句,从表和视图中)
ExecuteScalar()返回值是object型的(返回第一行第一列的值,根据情况进行类型转换)

C#读取第一行第二列的值如何读取?

ExcuteScalar默认只能获取查询结果的第一行第一列,如果要获取其他行的值,可以使用DataSet或者DataReader进行读取。
DataSet获取第一行第二列:DataSet ds =new DataSet();
ds.Tables[0].Rows[0][1].ToString();
DataReader则是:
SqlDataReader dr =cmd.ExcuteReader();
if(dr.Read()) // DataReader是一行一行的读取,直至读取到最后一行
{
string temp = dr["列名"].ToString();
}

阅读更多 >>>  数据库decimal类型,数据库中的decimal(decimal是什么数据类型)

ExecuteScalar()执行insert语句后返回的是什么

返回修改的行数
SqlCommand.ExecuteScalar 方法
执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。
你的语句是插入,怎么会有返回呢。
如果是取得插入记录的id,可以加上 select @@identity

网站数据信息

"executescalar用法,怎么ExecuteScalar()也可以update??"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:executescalar用法,怎么ExecuteScalar()也可以update??的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!