1

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

我的查询是

select * from movies where movieType = @type

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

谢谢

4

3 回答 3

1

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

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

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

这篇MSDN 文章应该可以帮助您了解参数传递。

于 2012-10-21T01:50:53.473 回答
0

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

例如:

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

MSDN 有关于这个主题的好文章。

于 2012-10-21T03:17:11.120 回答
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>

更多关于控制参数

于 2012-10-21T03:49:48.487 回答