Я пытаюсь упростить сложный процесс хранения информации в нескольких таблицах и их привязки к центральной таблице. Связывание происходит с использованием значений IDENTITY, сгенерированных в каждой таблице, чтобы обеспечить уникальное связывание. Я знаю, что могу использовать комбинацию SET NOCOUNT ON и SELECT @@ identity, чтобы получить каждую идентификацию, но для этого все равно требуется, чтобы я вызывал отдельный SQLExecute () для каждой таблицы. Я прочитал десятки статей о том, что ADO может обрабатывать несколько наборов записей с помощью драйвера ODBC, поэтому вопрос заключается в том, как мне сделать это без ADO?
Я уже инкапсулировал все стандартные вещи ODBC для поведения, аналогичного ADO. Мне просто нужно знать, какие вызовы ODBC API позволят мне воссоздать ADR NextRecorset ().
Я работаю над комбинацией MS SQL 7 и MS SQL 2005, используя либо ODBC для SQL Server, либо драйверы собственного клиента SQL в зависимости от ситуации.
Конечная цель:
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")