最近添付ファイルフィールドを追加したAccessテーブルがあります。この表は、コンピューターと各コンピューターに関する情報のリストです。そのユーザー、インストールされているソフトウェアなど。[添付ファイル]フィールドには、各コンピューターから受信した単純なテキスト構成ファイルが含まれます。
ここにあるコードを使用しました:.NETを使用してMicrosoftAccessの添付ファイルタイプのフィールドをプログラムで管理する
私の問題は、正しいフィールドを更新できないように見えることです。つまり、コンピューター名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()
上記のステートメントを使用すると、その行だけが表示され、次にその行の唯一の添付ファイルフィールドが表示されることを期待していました。ただし、そうではありません。レコードセットを反復処理して、運が悪かった正しい行を見つける方法を探しました。私はここで新しいので、私が必要なすべてをカバーしたことを願っています。