问题
I wrote an little app in C# to keep track of customers and jobs but I get an error
"There was an error parsing the query.[Token line number = 1, Token line offset = 38,Token in error = Name]
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
回答1:
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);
[Side note: I would recommend using an explicit column list rather than SELECT *
]
来源:https://stackoverflow.com/questions/9106739/there-was-an-error-parsing-the-query-sql-server-ce-vs-2010-local-database