为什么“SELECT * FROM user”会抛出语法错误?

时间:2015-05-24 15:31:09

标签: c# sql database ms-access syntax

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,我没有任何其他与办公室相关的程序。

1 个答案:

答案 0 :(得分:3)

User是一个关键字,因此您应将其与[]

括起来
SELECT * FROM [user]