[英]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);
}
Day
和Month
是 Access 中的保留字,因此需要将它们括在方括号中。 所以这部分
INSERT INTO TaskSchedular(Grade, Month, Day, Subject
应该:
INSERT INTO TaskSchedular(Grade, [Month], [Day], Subject
(这里可能还有其他问题,例如在引号中指定可能不应该在引号中的数值,并且理想情况下使用参数而不是将值直接放在 SQL 中,但这与这个直接问题略有不同。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.