在应使用条件的上下文(在 'ORDER' 附近)中指定了非布尔类型的表达式。
string sql = "WHERE 1=1";
if (ConfigParam.Keyword != "")
{
txtKey.Text = ConfigParam.Keyword;
sql += " and m.UserName like '%" + ConfigParam.Keyword + "%'";
}
if (ConfigParam.StatusFlag>0)
{
DropDownList1.SelectedValue = ConfigParam.StatusFlag.ToString();
sql += " and mo.StatusFlag = " + ConfigParam.StatusFlag;
}
protected void btnSearch_Click(object sender, EventArgs e)
{
Response.Redirect("manage.aspx?StatusFlag=" + DropDownList1.SelectedValue + "&Keyword=" + txtKey.Text);
}
exec('SELECT mo.ID FROM MemberOrder mo
LEFT JOIN Member m ON m.ID = mo.UserID '+@Keywords+' ORDER BY mo.ID DESC')
[解决办法]
@Keywords是什么东西,肯定拼接后sql语句有问题,显示出来看看
[解决办法]
--如果你使用exec,就把你的sql拼結好了再往裡傳,像你上面的寫法declare @sql nvarchar(max),@Keywords nvarchar(200)select @Keywords='....'select @sql='SELECT mo.ID FROM MemberOrder moLEFT JOIN Member m ON m.ID = mo.UserID '+@Keywords+' ORDER BY mo.ID DESC'exec(@sql)--或者你使用sp_executesql,這個可以帶參
[解决办法]
关键@Keywords这个变量的值是什么???
[解决办法]