我有一个SQL查询但它只会知道页面加载中的电影类型。这将连接到数据列表。
我的查询是
select * from movies where movieType = @type
有没有办法在运行时将参数传递给sql数据源?
由于
答案 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>