SQL Server CE查询异常

本文关键字:异常 查询 CE Server SQL | 更新日期: 2023-09-27 17:58:19

这可能是一个简单的问题,但我是ASP.net的新手,我一直收到异常

分析查询时出错。[令牌行号=1,令牌行偏移=142,错误中的令牌=]

描述:在执行当前web请求。请查看堆栈跟踪以了解更多信息有关错误的信息以及错误在代码中的来源

异常详细信息:System.Data.SqlServerCe.SqlCeException:存在分析查询时出错。[令牌线编号=1,令牌线偏移=142,令牌错误=]

我所要做的就是让我的网格视图只显示与用户在文本框中输入的内容相似的结果。

protected void Button1_Click(object sender, EventArgs e)
{
   string query = TextBox1.Text;
   string sql = "SELECT [Username], [Job Description] AS Job_Description, [Hours Worked] AS Hours_Worked, [Date], [ID] FROM [TimeData]"; // this one works fine 
   string sql2 = "SELECT [Username], [Job Description] AS Job_Description, [Hours Worked] AS Hours_Worked, [ID], [Date] FROM [TimeData] WHERE ([Username] == '" +query + "'";
   Response.Write("done");
   SqlDataSource1.SelectCommand = sql2;
}

我使用的是来自本地.SDF文件的数据源。

提前感谢

SQL Server CE查询异常

看起来您在sql2 的末尾缺少了一个右括号

正如@Adam所说,您缺少了一个右括号。此外,对于SQL,请将"=="更改为"="。

但是,将用户名(query-var)直接添加到SQL中会使您的应用程序受到SQL注入攻击。您应该使用SQL参数,请参阅http://www.dotnetperls.com/sqlparameter实例