[英]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.