SQL 语句中的语法错误问题
Problem with Syntax Error in SQL statement
我正在尝试使用 C# 从 Access 数据库中获取特定的单个值。
出于某种原因,我要求的是给我一个例外
Syntax error in FROM clause
我不知道为什么。
我直接在 Access 中尝试了 运行 SQL,它工作正常并返回我想要的结果,但我不知道为什么它在我的程序中不起作用。
ProbID
是 Access 描述的数字字段,CorrDetails
是备注字段。
为简单起见,我已将 SQL 设置为查找特定值 (137),但是一旦我的代码正常工作,我就会将其参数化。
有什么想法吗?
string corrAct;
OleDbConnection dbConnection;
dbConnection = new OleDbConnection(vDbString);
string sqlString = "SELECT CorrDetails FROM Action WHERE ProbID=137";
OleDbCommand command = new OleDbCommand(sqlString, dbConnection);
using (dbConnection)
{
MessageBox.Show(sqlString);
dbConnection.Open();
corrAct = (String)command.ExecuteScalar();
rtfCorrectiveAction.Text = Convert.ToString(corrAct);
dbConnection.Close();
}
Action
是 MS Access 中的 reserved word。
用 []
:
包裹起来
string sqlString = "SELECT CorrDetails FROM [Action] WHERE ProbID=137";
问题是您没有考虑 SQL 中的关键字。 https://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/reserved-keywords?view=sql-server-ver15
Action 是一个关键字,所以不应该在其他上下文中真正使用,要使用它们,请将 [] 围绕它们变成
select stuff from [Action] where stuff=true
我正在尝试使用 C# 从 Access 数据库中获取特定的单个值。
出于某种原因,我要求的是给我一个例外
Syntax error in FROM clause
我不知道为什么。
我直接在 Access 中尝试了 运行 SQL,它工作正常并返回我想要的结果,但我不知道为什么它在我的程序中不起作用。
ProbID
是 Access 描述的数字字段,CorrDetails
是备注字段。
为简单起见,我已将 SQL 设置为查找特定值 (137),但是一旦我的代码正常工作,我就会将其参数化。
有什么想法吗?
string corrAct;
OleDbConnection dbConnection;
dbConnection = new OleDbConnection(vDbString);
string sqlString = "SELECT CorrDetails FROM Action WHERE ProbID=137";
OleDbCommand command = new OleDbCommand(sqlString, dbConnection);
using (dbConnection)
{
MessageBox.Show(sqlString);
dbConnection.Open();
corrAct = (String)command.ExecuteScalar();
rtfCorrectiveAction.Text = Convert.ToString(corrAct);
dbConnection.Close();
}
Action
是 MS Access 中的 reserved word。
用 []
:
string sqlString = "SELECT CorrDetails FROM [Action] WHERE ProbID=137";
问题是您没有考虑 SQL 中的关键字。 https://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/reserved-keywords?view=sql-server-ver15
Action 是一个关键字,所以不应该在其他上下文中真正使用,要使用它们,请将 [] 围绕它们变成
select stuff from [Action] where stuff=true