&#101xecuteScalar 方法
2024-07-21 02:22:28
供稿:網友
 
使用 executescalar 方法從數據庫中檢索單個值(例如一個聚合值)。與使用 executereader 方法,然后使用 sqldatareader 返回的數據執行生成單個值所需的操作相比,此操作需要的代碼較少。
典型的 executescalar 查詢可以采用類似于下面的 c# 示例的格式:
commandtext = "select count(*) as numberofregions from region";
int count = (int) executescalar();
例子:
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.sqlclient" %>
<script language="vb" runat="server">
    sub page_load(byval sender as system.object, byval e as system.eventargs)
        if not ispostback then
            dim dtstartdate as datetime = datetime.now.adddays(-7)
            dim dtenddate as datetime = datetime.now.adddays(-1)
            startdate.text = dtstartdate.toshortdatestring
            enddate.text = dtenddate.toshortdatestring
            literal1.text = geteditionnumber()
        end if
    end sub
    function geteditionnumber()
        dim conn as sqlconnection = new sqlconnection(configurationsettings.appsettings("dsn"))
        dim cmd as sqlcommand = new sqlcommand("select max(id) from table", conn)
        conn.open()
        dim id as string = cmd.executescalar
        conn.close()
        return id
    end function
</script>
<html>
    <head></head>
    <body>
        <form runat="server">
            <asp:literal id="literal1" runat="server" /><br>
            <asp:textbox id="startdate"  runat="server"></asp:textbox><br>
            <asp:textbox id="enddate"     runat="server"></asp:textbox>
        </form>
    </body>
</html>web.config used in example<?xml version="1.0" encoding="utf-8" ?>
<configuration>    
    <appsettings>
        <add key="dsn" value="server=localhost;uid=sa;pwd=;database=pubs"/>
    </appsettings>
</configuration>