在页面加载中传递SQL数据源变量?

时间:2012-10-21 01:39:47

标签: asp.net sql

我有一个SQL查询但它只会知道页面加载中的电影类型。这将连接到数据列表。

我的查询是

select * from movies where movieType = @type

有没有办法在运行时将参数传递给sql数据源?

由于

3 个答案:

答案 0 :(得分:1)

进行SQL调用时,需要将参数添加到SqlCommand中。

myCommand.Parameters.AddWithValue("@type", type);

在此示例中,您从.Net传入的变量是“type”

这个MSDN article应该可以帮助您理解参数传递。

答案 1 :(得分:0)

如果您询问SqlDataSource control,可以使用SQL查询和使用参数的语句。

例如:

var source = new SqlDataSource(myConnectionString, 
     "SELECT * FROM TableName WHERE ColName = @M);
source.SelectParameters.Add("@M", DbType.Int32, ddl.SelectedValue);

MSDN对此主题有good article

答案 2 :(得分:0)

可以使用标记或代码隐藏中的SelectParameters来完成此操作

 <asp:SqlDataSource
      id="SqlDataSource1"
      runat="server"
      DataSourceMode="DataReader"
      ConnectionString="<%$ ConnectionStrings:MyConnection %>"
      SelectCommand="select * from movies where movieType = @type">

       <SelectParameters>
            <asp:ControlParameter name="type" ControlID="MyDropdownList" PropertyName="SelectedValue" />
       </SelectParameters>
  </asp:SqlDataSource>

More on ControlParameters