尝试将动态值传递给SQL数据源控件中的参数

时间:2012-01-19 20:34:25

标签: c# asp.net

我有一些使用C#传递给ASP.NET页面的值,但我需要将这些值设置为SQL数据源的参数。我刚刚开始使用C#和ASP.NET,所以任何帮助都将受到赞赏。

我的数据源代码如下:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:PRS_atlantaConnectionString %>" 
                SelectCommand="SELECT [ExtNum] FROM [EXTINFORMATION] WHERE (([LastName] = @LastName) AND ([FirstName] = @FirstName))">
                    <SelectParameters>
                        <asp:Parameter DefaultValue="DYNAMIC_VALUE_HERE" Name="LastName" Type="String" />
                        <asp:Parameter DefaultValue="DYNAMIC_VALUE_HERE" Name="FirstName" Type="String" />
                    </SelectParameters>
            </asp:SqlDataSource>

目前,我正在使用以下代码在页面上显示值:

<%= FirstName %>
<%= LastName %>

任何帮助将再次受到赞赏。

1 个答案:

答案 0 :(得分:0)

您可以尝试在页面后面的代码中添加以下内容:

   SqlDataSource1.SelectParameters.Add("LastName", yourdynamicstringvalue);
   SqlDataSource1.SelectParameters.Add("FirstName", yourdynamicstringvalue);

或者如果你有一个字符串而不是你要比较的字符串:

   SqlDataSource1.SelectParameters.Add("some_other_value",System.Data.DbType.sometype,"it's value as string here");

添加后,您需要删除不再需要的块:

    <SelectParameters>
        <asp:Parameter DefaultValue="DYNAMIC_VALUE_HERE" Name="LastName" Type="String" />
        <asp:Parameter DefaultValue="DYNAMIC_VALUE_HERE" Name="FirstName" Type="String" />
    </SelectParameters>