MFC を使用して Access データベースにデータを追加しようとしています。2 つのテーブルがあり、最初のテーブルに 1 つのレコードを追加した後、ID を取得して 2 番目のテーブルを更新します。最初のパスではすべてが正常に機能します。しかし、2 番目のレコードでは、表 1 の rs.Update() が例外をスローします - 制限されたデータ型の属性違反です。両方のレコードに同じデータを使用しています。表 1 の ID は自動生成されます。
function AddData(){
rs.Open(CRecordset::snapshot, _T("SELECT * FROM Table1"));
for ( each of the objects )
{
db.BeginTrans();
rs.AddNew(); // Parent table
m_xx = xx;
.......
.....
rs.Update();
db.CommitTrans();
id = GetParentId(); // Get Id of added record
// Update the second table with id.
UpdateSecondTable ( id ) ;
}
rs.close();
}
int GetParentId(){
rs.Open(CRecordset::forwardOnly, _T("SELECT @@Identity FROM Table1"));
int id = rs.GetFieldValue();
return id;
}
前もって感謝します。