我有一个方法应该将文件的名称输入到微软访问数据库中
我在INSERT INTO
的{{1}}语句中收到语法错误。请参阅以下代码:
cmd.ExecuteNonQuery
当我在语法错误发生时调试并检查命令字符串的值时,它是
public static void LoadToDB(string path){
int lastindx = path.LastIndexOf('\\');
string pc = path.Substring(lastindx+1);
string cmdStr = "INSERT INTO image (file_name) VALUES ('"+pc+"');";
OleDbCommand cmd = new OleDbCommand(cmdStr, con);
cmd.ExecuteNonQuery();
Console.WriteLine(cmd.CommandText);
cmd.Dispose();
}
当我将其直接复制并粘贴到Access中时,此命令执行正常,但在我的程序尝试执行时却没有。我已经看到了几个与此类似的问题,大多数答案都表明海报使用的是保留字,需要将列名包装在方括号("INSERT INTO image (file_name) VALUES ('DCM1004');"
)中。我试过这个并没有运气。有什么建议吗?
答案 0 :(得分:0)
问题解决了,'图像'也需要方括号。新的查询命令文本如下所示:
" INSERT INTO [image] (file_name) VALUES ('DCM1004');
"