为什么 "SELECT * FROM user" 会抛出语法错误?
Why would "SELECT * FROM user" throw a syntax error?
String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=CSTest.mdb";
String query = "SELECT * FROM user";
OleDbConnection connection = null;
try
{
connection = new OleDbConnection(connectionString);
connection.Open();
log("Database Connected!");
OleDbCommand test1 = new OleDbCommand(query, connection);
OleDbDataReader test2 = test1.ExecuteReader();
log(test2.ToString());
}
catch (OleDbException error)
{
log("Something went wrong: " + error.Message);
}
finally
{
connection.Close();
log("Database Disconnected.");
}
输出:
Database Connected!
Error occurred: Syntax error in FROM clause.
Database Disconnected.
为什么这么简单的查询会出现错误?我尝试在它的最后添加一个分号,但没有任何改变。
我正在使用 Visual Studio 2010 和 Access 数据库。
您认为问题与我刚安装的 Access 2013 引擎有关吗?我电脑上除了 OpenOffice 没有任何其他办公相关的程序。
User
是一个关键字,所以你应该用 []
将它括起来
SELECT * FROM [user]
String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=CSTest.mdb";
String query = "SELECT * FROM user";
OleDbConnection connection = null;
try
{
connection = new OleDbConnection(connectionString);
connection.Open();
log("Database Connected!");
OleDbCommand test1 = new OleDbCommand(query, connection);
OleDbDataReader test2 = test1.ExecuteReader();
log(test2.ToString());
}
catch (OleDbException error)
{
log("Something went wrong: " + error.Message);
}
finally
{
connection.Close();
log("Database Disconnected.");
}
输出:
Database Connected!
Error occurred: Syntax error in FROM clause.
Database Disconnected.
为什么这么简单的查询会出现错误?我尝试在它的最后添加一个分号,但没有任何改变。 我正在使用 Visual Studio 2010 和 Access 数据库。 您认为问题与我刚安装的 Access 2013 引擎有关吗?我电脑上除了 OpenOffice 没有任何其他办公相关的程序。
User
是一个关键字,所以你应该用 []
SELECT * FROM [user]