私は最近、添付ファイルフィールドを追加したAccessテーブルを持っています。表は、各コンピュータのリストと各コンピュータの情報です。そのユーザー、インストールされているソフトウェアなど。 [添付ファイル]フィールドには、各コンピュータから受信した簡単なテキスト構成ファイルが含まれます。私はいくつかのコードで働いていた既存のAccess DBの添付ファイルフィールドの更新
はこちらをご覧ください:Programmatically managing Microsoft Access Attachment-typed field with .NET
私の問題は、私は正しいフィールドを更新できないようです。コンピュータ名Bobの設定ファイルが正しいフィールドに置かれているが、意味がある場合はコンピュータが間違っていることを意味する。以下はSQL文の例です。
Select * From MyTable WHERE ComputerName Like 'Bob'
下記の全体コードセグメントが要求されます。
public void InsertFile(String Path, String CmpName)
{
DBEngine dbe = new DBEngine();
Database db = dbe.OpenDatabase("MyAccessDB.accdb", false, false, "");
Recordset rs = db.OpenRecordset(
"SELECT * FROM MyTable WHERE ComputerName LIKE '" + CmpName + "\'",
RecordsetTypeEnum.dbOpenDynaset, 0, LockTypeEnum.dbOptimistic);
rs.MoveFirst();
rs.Edit();
Recordset2 rs2 = (Recordset2)rs.Fields["My_File"].Value;
rs2.AddNew();
Field2 f2 = (Field2)rs2.Fields["FileData"];
f2.LoadFromFile(Path);
rs2._30_Update();
rs2.Close();
rs._30_Update();
rs.Close();
}
私は上記の文をOpenRecodeset()
を使用している場合は、私にだけ、その行とその行の後、唯一の添付ファイルフィールドを与えるだろうと期待していました。しかし、そうではありません。私は幸運のない正しい行を見つけるためにレコードセットを反復する方法を見つけるために検索しました。私はここに新しいですので、私は必要なものすべてをカバーしたいと思います。
この文の前後にコードを表示できますか? – Steve