繁体   English   中英

从 C# 连接到 ms 访问时出现语法错误

[英]syntax error while connecting from c# to ms access

我能够从 MS Access 数据库中读取数据,因此我知道我已经正确设置了连接字符串,但是当我尝试插入该 MS Access 数据库时,我不断收到“语法错误”。 我尝试直接在 Access 中运行相同的查询,并且没有错误。 您的帮助将不胜感激。

public void connect()
{
    conn = new OleDbConnection(conn_string);
    conn.Open();
}

public void closeConnection()
{
    conn.Close();
}  

{
    connect();

    // submitQuery = "INSERT INTO TaskSchedular(Grade, Month, Day, Subject, DueDate, AssignmentLink, OrigScore, FinalScore, Task, Priority)  VALUES('8', '17', '10', 'test', '12', 'test', '12', '34', 'test', '2');";

    OleDbCommand cmdInsert = new OleDbCommand();
    cmdInsert.Connection = conn;
    cmdInsert.CommandText = "INSERT INTO TaskSchedular(Grade, Month, Day, Subject, DueDate, AssignmentLink, OrigScore, FinalScore, Task, Priority)  VALUES('8', '17', '10', 'test', '12', 'test', '12', '34', 'test', '2');";

    cmdInsert.ExecuteNonQuery();
                
    closeConnection();
}
catch (Exception ex)
{
    error_msg = ex.Message;
    //MessageBox.Show(error_msg);
}

DayMonth是 Access 中的保留字,因此需要将它们括在方括号中。 所以这部分

INSERT INTO TaskSchedular(Grade, Month, Day, Subject

应该:

INSERT INTO TaskSchedular(Grade, [Month], [Day], Subject

(这里可能还有其他问题,例如在引号中指定可能不应该在引号中的数值,并且理想情况下使用参数而不是将值直接放在 SQL 中,但这与这个直接问题略有不同。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM