複数のテーブルに情報を格納し、それらを中央のテーブルにリンクする複雑なプロセスを合理化しようとしています。リンクは、一意のリンクを提供するために各テーブルで生成された IDENTITY 値を使用して行われます。SET NOCOUNT ON と SELECT @@identity の組み合わせを使用して各 ID を取得できることはわかっていますが、それでもテーブルごとに個別の SQLExecute() を呼び出す必要があります。ADO は ODBC ドライバーを使用して複数のレコードセットを処理できるという記事を何十回も読みました。
ADO と同様の動作をするために、標準の ODBC のすべてを既にカプセル化しています。基本的に、ADO の NextRecorset() を再作成できる ODBC API 呼び出しを知る必要があります。
私は、必要に応じて SQL Server ODBC または SQL Native Client Drivers を使用して、MS SQL 7 と MS SQL 2005 の組み合わせに取り組んでいます。
最終目標:
SET NOCOUNT ON;
INSERT INTO TableA (data) VALUES ('a');
SELECT @@identity AS NewID;
INSERT INTO TableB (data) VALUES ('b');
SELECT @@identity AS NewID;
INSERT INTO TableC (data) VALUES ('c');
SELECT @@identity AS NewID;
...
RS = DB.OpenRecordset()
RS.MoveFirst()
A_ID = RS.GetValue("id")
RS.NextRecordset()
RS.MoveFirst()
B_ID = RS.GetValue("id")
RS.NextRecordset()
RS.MoveFirst()
C_ID = RS.GetValue("id")