设置sql数据源参数的值

时间:2014-06-26 13:43:26

标签: asp.net

我通过在此格式WHERE中设置[@a]子句参数来过滤SQL数据源的数据,如果是组合框,我会将值设置为此参数, gridview的前一个sql数据源

SqlDataSource2.SelectParameters.Clear();
SqlDataSource2.SelectParameters["@a"].DefaultValue = cid.ToString();
SqlDataSource2.DataBind();

我需要将值传递给WHERE参数。

我选择在非选择(不是表单或控件或配置文件或会话......)上解析的过滤

这种方式给了我一个错误。 有没有办法为这个参数[@a]提供一个值?

1 个答案:

答案 0 :(得分:2)

尝试以下方法:

ASPX:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" DataSourceMode="DataSet" 
                   ConnectionString="<%$ConnectionStrings:MyConnectionString %>" 
                   SelectCommandType="Text"
                   SelectCommand = "SELECT * FROM TABLE WHERE a=@a"  
                   CancelSelectOnNullParameter="false"> 
        <SelectParameters>
            <asp:QueryStringParameter Name="a" QueryStringField="a" 
                           DbType="String" ConvertEmptyStringToNull="true" />
              </SelectParameters>
</asp:SqlDataSource> 

C#Code-Behind:

更改 @a a

SqlDataSource2.SelectParameters.Clear();
SqlDataSource2.SelectParameters["a"].DefaultValue = cid.ToString();
SqlDataSource2.DataBind();

如果 @a FIRST 参数,您也可以使用 INDEX 0 进行设置:

SqlDataSource2.SelectParameters.Clear();
SqlDataSource2.SelectParameters[0].DefaultValue = cid.ToString();
SqlDataSource2.DataBind();