素晴らしいSOの仲間に挨拶します。
このコードを使用してSQLServerデータベースに変更を加えようとしています。
adapter = new OleDbDataAdapter(
Db.GetRecordSql(table.Name, recordId), Db.Connection);
OleDbCommandBuilder cmd = new OleDbCommandBuilder(adapter);
DataSet ds = new DataSet();
adapter.Fill(ds);
その後、DataRow
:に加えられた変更を保存するときに
adapter.Update(new DataRow[] { row });
それは私が望むように正確に機能します。DB操作はすべて非常にシンプルで、アプリは複数のデータベース形式をサポートしているため、これがタスクに適した方法です。
@
私の問題は、行に名前に記号が含まれる列が含まれている場合、このメソッドが失敗することです。データベーススキーマ@
は、作成/変更日やチェックサムなどのプライベートメタデータを示すために、列名の前に記号を付けます。
列名に@
符号が含まれている場合、メソッドは:Update
をスローします。OleDbException
スカラー変数@createdを宣言する必要があります
素晴らしい。それで?
真剣に、私はこのことをググって死にました。列名に記号を含めるのは少し珍しいことです@
が、それが私が扱ってきた手です。
何か案は?かなりお願いしますか?:)