如何将字符串变量分配给SelectCommand
本文关键字:分配 SelectCommand 变量 字符串 | 更新日期: 2023-09-27 18:20:23
我在两个字符串变量中有两个select语句(Str1
,Str2
)。我还有一个条件,即选择适当的select语句并将其分配给另一个字符串(res
)。
这是要分配给网页上SqlDataSource
控件的SelectCommand
属性的select语句。
代码为:
int id =1;
string Str1 = "Select * from table";
string Str2 = "Select * from table where id = "+id;
string res;
if(id == 0)
{
res=Str2;
}else
{
res=Str1;
}
我的标记看起来像:
<asp:gridview.....></aspgridview>
<asp:SqlDataSource ID="ds1" runat="server"
ConnectionStrings="<%ConnectionStrings.ConnStr%>"
SelectCommand="<%# res%>">
</asp:SqlDataSource>
如何从我的codeehind或内联C#代码将字符串变量res
分配给SqlDataSource
SelectCommand
属性?
您可以通过在if/else块后添加以下语句,从代码后面设置SelectCommand属性:
ds1.SelectCommand = res;
然后您可以从标记代码中删除表达式:
<asp:SqlDataSource ID="ds1" runat="server"
ConnectionStrings="<%ConnectionStrings.ConnStr%>" />
您应该像在msnd上的SqlDataSource控件中使用参数一样使用它。
如果你只是像那样附加字符串,你就会有SQL注入漏洞。
以程序方式将SelectCommand
分配给SqlDataSource
:
ds1.SelectCommand = res;
其中res
是您的命令文本。