要实现的功能是根据dropdownlist的不用选项,调用不同的sql查询语句
出现错误为:selectcommand无法查询,提示错误如下:'<' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: '<' 附近有语法错误。<%string sql;
if (int.Parse( this.DropDownList1.SelectedValue) == 1)
{
sql = "select * from products";
}
else
sql = "SELECT * FROM [products] WHERE ([typ_id] = @typ_id)";
%>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:GoodsConnectionString %>"
SelectCommand="<% =sql %>">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="typ_id" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
出现错误为:selectcommand无法查询,提示错误如下:'<' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: '<' 附近有语法错误。<%string sql;
if (int.Parse( this.DropDownList1.SelectedValue) == 1)
{
sql = "select * from products";
}
else
sql = "SELECT * FROM [products] WHERE ([typ_id] = @typ_id)";
%>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:GoodsConnectionString %>"
SelectCommand="<% =sql %>">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="typ_id" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<script runat="server">
protected string sqltext()
{
string sql;
if (int.Parse(this.DropDownList1.SelectedValue) == 1)
{
sql = "select * from products";
}
else
sql = "SELECT * FROM [products] WHERE ([typ_id] = @typ_id)";
return sql;
}
</script>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:GoodsConnectionString %>"
SelectCommand="<% =sqltext() %>">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="typ_id" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
===
先把这里替换成实际的字符串测试一下