问候伟大的SO同志;
我正在尝试使用此代码对 SQL Server 数据库进行更改:
adapter = new OleDbDataAdapter(
Db.GetRecordSql(table.Name, recordId), Db.Connection);
OleDbCommandBuilder cmd = new OleDbCommandBuilder(adapter);
DataSet ds = new DataSet();
adapter.Fill(ds);
然后,当保存对 a 所做的更改时DataRow
:
adapter.Update(new DataRow[] { row });
它完全按照我想要的方式工作。数据库操作都非常简单,应用程序支持多种数据库格式,所以这是适合任务的方法。
我的问题是,当行包含名称中带有@
符号的列时,此方法会失败。数据库模式在列名前面加上一个@
符号来表示私有元数据,例如创建/修改日期和校验和。
当列名包含@
符号时,该Update
方法会抛出OleDbException
:
必须声明标量变量@created
伟大的。怎么办?
说真的,我已经用谷歌搜索了这个东西。我知道在列名中包含符号有点不寻常@
,但这就是我遇到的手。
有任何想法吗?请问好看吗?:)