繁体   English   中英

C#语法错误-INSERT INTO语句。 访问数据库。

[英]C# Syntax Error - INSERT INTO statement. Access Database.

这是我的代码,在我的INSERT statement以下语法错误:

string strSql = "INSERT INTO Responses (OCR, DeadlineDate, OCR Title) VALUES ('"+textBox5.Text+"','"+textBox7.Text+"', '"+textBox6.Text+"')";

OleDbConnection newConn = new OleDbConnection(strProvider);
OleDbCommand dbCmd = new OleDbCommand(strSql, newConn);

newConn.Open();
dbCmd.ExecuteNonQuery();

有任何想法吗?

列名OCR Title无效,您必须使用[]对它进行转义,例如[OCR Title]

INSERT INTO Responses (OCR, DeadlineDate, [OCR Title]) VALUES( ...

另外,请尝试使用参数化查询而不是串联值:

string strSql = "INSERT INTO Responses (OCR, DeadlineDate, [OCR Title]) VALUES (?, ?, ?)";

using (OleDbConnection newConn = new OleDbConnection(strProvider))
{
  using (OleDbCommand dbCmd = new OleDbCommand(strSql, newConn))
  {
    dbCmd.CommandType = CommandType.Text;
    dbCmd.Parameters.AddWithValue("OCR", textBox5.Text);
    dbCmd.Parameters.AddWithValue("DeadlineDate", textBox7.Text);
    dbCmd.Parameters.AddWithValue("[OCR Title]", textBox6.Text);
    newConn .Open();
    dbCmd.ExecuteNonQuery();
  }
}

我猜语法错误与c#无关,而与SQL语句有关。

也许您需要在textBoxes值和“ OCR标题”表名称的文本限定符上进行转义。

暂无
暂无

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

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