【发布时间】:2017-08-23 06:01:33
【问题描述】:
我想传递三个查询字符串变量,分别是 DateFrom、DateTo 和 UserName。当我调用该变量时,它显示一个错误:
'在预期条件的上下文中指定的非布尔类型的表达式,靠近'admin'。'"。
我该如何解决这个问题?这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
strDate = Convert.ToDateTime(Request.QueryString["DateFrom"]);
endDate = Convert.ToDateTime(Request.QueryString["DateTo"]);
UserName = Convert.ToSingle(Request.QueryString["UsName"]);
string UserName = Request.QueryString["UsrName"];
string sql;
sql = ("SELECT * FROM tblReport WHERE Date between'" + strDate + "'and'" + endDate + "'and'" + UserName + "'");
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
DataSet dst = new DataSet();
sda.Fill(dst, "tblReport");
crypt.Load(@"D:\My Project\Asp.Net\ITApplication\ITApplication\CrystalReport.rpt");
crypt.SetDataSource(dst);
CrystalReportViewer1.ReportSource = crypt;
}
【问题讨论】:
-
您似乎执行了错误的查询字符串。应该是
"SELECT * FROM tblReport WHERE Date between ('" + strDate + "' and '" + endDate + "') and UserName = '" + UserName + "'"(改用参数化查询)。
标签: asp.net sql-server crystal-reports