C#-查询问题所在的更新集(OleDb)

C#-查询问题所在的更新集(OleDb),c#,sql,oledb,oledbcommand,C#,Sql,Oledb,Oledbcommand,我有一个Access 2000(*.mdb)文件,该文件由OleDb查询编辑 目前,我想将一个表更新到一个只有两列的数据库中,如下图所示 此数据库的每一列的类型均为String 此代码包含一个OLEDBEException: OleDbConnection con; OleDbCommand cmd; private void UpdateExistingRow() { string strProvider = @"Provider=Microsoft.Jet.OLEDB.4.0;

我有一个Access 2000(*.mdb)文件,该文件由OleDb查询编辑

目前,我想
将一个表更新到一个只有两列的数据库中,如下图所示

此数据库的每一列的类型均为
String

此代码包含一个
OLEDBEException

OleDbConnection con;
OleDbCommand cmd;

private void UpdateExistingRow()
{
    string strProvider = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + path + ";"
    string strSql = "UPDATE OPTIONS SET VAL='C:\\Edo\\Desktop\\Logo.png' WHERE IMP='LogoPath'";
    con = new OleDbConnection(strProvider);
    cmd = new OleDbCommand(strSql, con);
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
}
我知道这看起来很简单,但我找不到解决办法。

谢谢。

答案没有我们最初想象的那么明显,但我想我找到了: (或者更可能是操作员)。奇怪的是

因此,您需要通过使用
[]
转义列名称来确保DB引擎知道它是一个列名:

UPDATE[OPTIONS]SET VAL='C:\\Edo\\Desktop\\Logo.png'其中[IMP]=“LogoPath”

怎么可能?您是否错过了第4行末尾的键入:
string strSql=“UPDATE OPTIONS SET VAL='C:\\Edo\\Desktop\\Logo.png'WHERE IMP='LogoPath''LogoPath
之后没有缺少
,比如:
'LogoPath?是@PhamX.Bach,我把问题写错了。代码实际上是这样的:
'LogoPath'
我真的不知道如何感谢你。完美而详细的答案。