SqlCommand.ExecuteScalar 方法

时间:2014-05-07 19:18:11   收藏:0   阅读:665

 

本文来自:http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executescalar(v=vs.100).aspx

 

执行查询,并返回查询所返回的结果集中第一行的第一列。 忽略其他列或行。

 

命名空间:  System.Data.SqlClient
程序集:  System.Data(在 System.Data.dll 中)

语法
 
 
public override Object ExecuteScalar()

返回值

类型:System.Object
Nothing in Visual Basic) if the result set is empty.‘ data-guid="5b850de1fd444fb94f0088df97eed2e6">结果集中第一行的第一列;如果结果集为空,则为空引用(在 Visual Basic 中为 Nothing)。 返回的最大字符数为 2033 个字符。 

实现

IDbCommand.ExecuteScalar()
异常
 
异常 条件
SqlException

在对锁定的行执行该命令期间发生了异常。 如果使用的是 Microsoft .NET Framework 1.0 版,将不会生成该异常。

备注
 

ExecuteScalar method to retrieve a single value (for example, an aggregate value) from a database.‘ data-guid="a6cae880b169fed57021ab4a7538c6a7">使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。 ExecuteReader method, and then performing the operations that you need to generate the single value using the data returned by a SqlDataReader.‘ data-guid="4be5b2b6dcebda8553de83907714807d">与使用 ExecuteReader 方法,然后使用 SqlDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少。

ExecuteScalar query can be formatted as in the following C# example: ‘ data-guid="b1a6a2dbb00251cd6e6d6437ca486f3d">典型的 ExecuteScalar 查询可以采用类似于下面的 C# 示例的格式:

 
 
 cmd.CommandText = "SELECT COUNT(*) FROM dbo.region";
 Int32 count = (Int32) cmd.ExecuteScalar();
示例
 

SqlCommand and then executes it using ExecuteScalar.‘ data-guid="557bbe95a2e46a35dae55d28cae1c553">下面的示例创建一个 SqlCommand,然后使用 ExecuteScalar 执行它。 向该示例传递两个字符串,一个字符串表示要插入到表中的新值,另一个字符串用于连接至数据源。 如果已插入新行,则此函数会返回新的“Identity”列值,如果失败,则返回 0。

 
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;
}


.NET Framework

受以下版本支持:4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1
平台
 

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2

 

 

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

SqlCommand.ExecuteScalar 方法,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!