【问题标题】:Syntax Error in From clause ms accessFrom 子句 ms 访问中的语法错误
【发布时间】:2015-07-04 16:08:14
【问题描述】:

我正在尝试使用以下代码从 Ms access 数据库中查询数据。

string sql = @"INSERT INTO Mre_Pole (ElementID,GlobalID,UpdateState) values (:ElementID,:GlobalID,:UpdateState)";
string commandText2 = @"SELECT TOP 1 * FROM Mre_Pole ORDER BY objectid DESC";
command.CommandText = sql;
command.Parameters.AddWithValue(":ElementID", entityGuid.EntityId);
command.Parameters.AddWithValue(":GlobalID", entityGuid.Guid);
command.Parameters.AddWithValue(":UpdateState", UpdateState.Added);
command.ExecuteNonQuery();
command.Parameters.Clear();
command.CommandText = commandText2;

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(command);
DataSet ds = new DataSet();
dataAdapter.Fill(ds);

但它会抛出异常dataAdapter.Fill(ds);

From 子句中的语法错误

请任何人帮我解决这个问题。

【问题讨论】:

  • 您可能应该删除:,请注意访问不支持命名参数。通常只使用? 就像这里的例子:msdn.microsoft.com/en-us/library/…
  • 我认为您的 SELECT 语句中的语法没有任何问题。你确定你的CommandTextSELECT TOP 1 * FROM Mre_Pole ORDER BY objectid DESC 吗?调试您的代码并告诉我们。
  • 消息框显示什么?

标签: c# mysql sql .net ms-access


【解决方案1】:

试试

改变

OleDbDataAdapter dataAdapter = new OleDbDataAdapter(command);
DataSet ds = new DataSet();
dataAdapter.Fill(ds);

 OleDbDataAdapter dataAdapter = new OleDbDataAdapter(commandText2,"your oledbconnection");
    DataSet ds = new DataSet();
        dataAdapter.Fill(ds);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2022-11-08
    • 1970-01-01
    • 2013-11-02
    相关资源
    最近更新 更多