C#-查询问题所在的更新集(OleDb)
我有一个Access 2000(*.mdb)文件,该文件由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;
将一个表更新到一个只有两列的数据库中,如下图所示
此数据库的每一列的类型均为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'对不起,我忘记把它放在这个问题里了@巴赫,我也在想同样的事情。即使是异常也缺少了一个“如果缺少了”,实际代码也不会编译,因此可能是缺少了一个”而不是Yes Radlwimmer,@Edoardo Chiabra您能否确认您的代码在'LogoPath
之后没有缺少”
,比如:'LogoPath代码>?是@PhamX.Bach,我把问题写错了。代码实际上是这样的:'LogoPath'
我真的不知道如何感谢你。完美而详细的答案。