VC6, SQLServer2000, ODBC. При добавлении новой записи сразу в две таблицы появляется сообщение "Recordset is read-only". В книгах, которые видел, примеры добавления записей только для одной таблицы.
Re: Как на VC добавить запись сразу в несколько таблиц
Здравствуйте, dmbel, Вы писали:
D>VC6, SQLServer2000, ODBC. При добавлении новой записи сразу в две таблицы появляется сообщение "Recordset is read-only". В книгах, которые видел, примеры добавления записей только для одной таблицы.
если это не коммерческая тайна, то как ты это пытаешься делать ???
С уважением, Владимир
Re: Как на VC добавить запись сразу в несколько таблиц
Здравствуйте, dmbel, Вы писали:
D>VC6, SQLServer2000, ODBC. При добавлении новой записи сразу в две таблицы появляется сообщение "Recordset is read-only". В книгах, которые видел, примеры добавления записей только для одной таблицы.
Логично, ибо рекордсет, полученный из более чем одной таблицы, по определению является ReadOnly. См. SQL Books Online.
... << RSDN@Home 1.0 beta 5 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Как на VC добавить запись сразу в несколько таблиц
От:
Аноним
Дата:
29.01.03 09:10
Оценка:
Здравствуйте, ВованЯ, Вы писали:
D>>VC6, SQLServer2000, ODBC. При добавлении новой записи сразу в две таблицы появляется сообщение "Recordset is read-only". В книгах, которые видел, примеры добавления записей только для одной таблицы. ВЯ>если это не коммерческая тайна, то как ты это пытаешься делать ???
Есть 2 или более связанных таблиц, отношением один ко многим. В метод GetDefaultSQL() экземпляра класса CRecordSet вставляем строку (например): return _T("SELECT Departments.*, Employees.*, Managers.* FROM (Departments INNER JOIN Employees ON Departments.DeptID = Employees.DeptID) INNER JOIN Managers ON Departments.DeptID = Managers.DeptID;");
D>VC6, SQLServer2000, ODBC. При добавлении новой записи сразу в две таблицы >появляется сообщение "Recordset is read-only". В книгах, которые видел, примеры >добавления записей только для одной таблицы.
Здравствуйте, dmbel, Вы писали:
D>VC6, SQLServer2000, ODBC. При добавлении новой записи сразу в две таблицы появляется сообщение "Recordset is read-only". В книгах, которые видел, примеры добавления записей только для одной таблицы.
ИМХО юзая транзакции, и @@IDENTITY (id последней добавленной записи),
делай в два INSERT.. А ещё лучше всё это в StoredProcedure забей..
А>Если это невозможно, может есть альтернативный вариант работы с о связанными таблицами?
Ага, точно. по отдельности. В каждую. И никак иначе. SQL иначе просто не умеет.
И нынешние СУБД-шки--тоже.
... << RSDN@Home 1.0 beta 5 >>
Кто здесь?!
Re[2]: Как на VC добавить запись сразу в несколько таблиц
От:
Аноним
Дата:
29.01.03 16:55
Оценка:
Здравствуйте, Awaken, Вы писали: A>ни в ADO ни в ODBC это нельзя.
а какже быть динамическим свойством Unique Table для Recorset'a — он то как раз и позволяет.
Re: Как на VC добавить запись сразу в несколько таблиц
Здравствуйте, dmbel, Вы писали:
D>VC6, SQLServer2000, ODBC. При добавлении новой записи сразу в две таблицы появляется сообщение "Recordset is read-only". В книгах, которые видел, примеры добавления записей только для одной таблицы.
Есть триггер INSTEAD OF INSERT. Его можно повесть на вьюшку, созданную из двух исходных таблиц, и в нем проводить обновление.