首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置SqlDataSource UpdateCommand的参数

如何设置SqlDataSource UpdateCommand的参数
EN

Stack Overflow用户
提问于 2012-06-28 22:21:33
回答 2查看 7.1K关注 0票数 0

对于Gridview:

我第一次尝试在UpdateCommand的SQLDataSource中使用存储过程:

代码语言:javascript
复制
<asp:SqlDataSource ID="TECT_DataSource" runat="server"
    ConnectionString="<%$ ConnectionStrings:OracleConnectionString %>" 
    ProviderName="<%$ ConnectionStrings:OracleConnectionString.ProviderName %>"
    SelectCommand="SELECT MPID, User_Id, Last_Name, First_Name
                   FROM Scripts.vw_Tect_Exam"
    UpdateCommand="P_TECT_UPD_EXAM_ID" UpdateCommandType="StoredProcedure">  
    <UpdateParameters>                    
        <asp:Parameter Name="MPID" Type="Int32"  />  
        <asp:Parameter Name="User_Id" Type="String" />   
    </UpdateParameters> 
</asp:SqlDataSource>

我想知道UpdateParameters如何设置它们的值,因为我只指定了一个名称?

过程P_TECT_UPD_EXAM_ID需要两个参数作为输入:"in_MPID""in_UserId"

我还想知道如何将这些值映射到过程的输入参数,因为它们的名称是不同的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-28 22:29:29

您可以像这样设置它们:

示例:在示例中,MPID是sql参数名称@MPID

代码语言:javascript
复制
<UpdateParameters>                    
    <asp:ControlParameter Name="MPID" ControlID="MPID_TextBox" PropertyName="Text  />  
    <asp:ControlParameter Name="User_Id" ControlID="User_Id_TextBox" PropertyName="Text  />  
</UpdateParameters> 

更正:刚刚发现了您的proc参数名称,因此它一定是

代码语言:javascript
复制
<asp:ControlParameter Name="in_MPID" ...............
<asp:ControlParameter Name="in_User_Id" ...............

希望这能帮上忙。

票数 2
EN

Stack Overflow用户

发布于 2012-06-28 22:29:50

我真的不会使用SqlDataSource。如果在代码隐藏中(或者更好的是在数据访问层中)调用数据库,将会容易得多。

如果使用SqlDataSource,则存储过程调用将仅在该页上可用。每次你想进行同样的调用时,你都必须复制并粘贴SqlDataSource,或者创建一个UserControl

下面的示例使用Entity Framework连接到数据库并检索记录:

代码语言:javascript
复制
public List<Record> GetAllRecordsByUserName(string credentials)
{
    List<Record> recordList;
    using (CustomEntities context = new CustomEntities())
    {

        IQueryable<Section> recordQuery = from records in context.Records
                                              where records.UserName == credentials
                                              select records; 
        recordList = recordQuery.ToList<Record>();
    }
    return recordList;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11246747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档