有一个错误解析查询的SQL Server CE / VS 2010的本地数据库
问题描述:
我在C#中写了一个小应用程序来跟踪客户和作业,但我收到一个错误
I wrote an little app in C# to keep track of customers and jobs but I get an error
解析错误[Token line number = 1,Token
line offset = 38,Token in error = Name]
"There was an error parsing the query.[Token line number = 1, Token line offset = 38,Token in error = Name]
使用SQL Server CE .sdf
数据库
I'm using a SQL Server CE .sdf
database
public static List<string> ListDates(string clientname)
{
List<string> date = new List<string>();
string myName = clientname;
using (SqlCeCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = @"SELECT * FROM FarmJobs WHERE Name = ?Name;";
cmd.Parameters.AddWithValue("Name", myName);
SqlCeDataReader Reader = cmd.ExecuteReader();
while (Reader.Read())
{
for (int i = 0; i < Reader.FieldCount; i++)
{
date.Add(Reader["DateSeviceStarted"].ToString());
}
}
}
return date;
}
我研究了很多错误,似乎这个错误很模糊
I researched the error a lot and seems this error is pretty vague
答
您使用了一个'?
$ c> @ 用于名称
参数:
You have used a '?
' where you needed a '@
for the Name
parameter:
cmd.CommandText = "SELECT * FROM FarmJobs WHERE Name = @Name";
cmd.Parameters.AddWithValue("@Name", myName);
[ 旁注 使用显式列列表而不是 SELECT *
]