Внесение данных в таблицы с identity-столбцом - VB
Формулировка задачи:
Есть самодельная процедура импорта/экспорта базы данных.
При экспорте данных все данные из БД выгружаются в файл. При импорте данных вначале производится очистка БД, затем в таблицы загружаются данные.
Некоторые таблицы содержат identity-столбцы. И с ними проблема.
Если загружать таким способом:
Даже если сделать предварительно Connection.Execute "set identity_insert table on", таким способом присвоить столбцу с identity значения не получается.
Тогда я попробовал другой способ, через SQL.
Пишу:
Если все выполнять в одной строке, т.е.
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
При экспорте данных все данные из БД выгружаются в файл. При импорте данных вначале производится очистка БД, затем в таблицы загружаются данные.
Некоторые таблицы содержат identity-столбцы. И с ними проблема.
Если загружать таким способом:
То в такие таблицы данные не загружаются, выдается ошибка многошаговой операции.
Даже если сделать предварительно Connection.Execute "set identity_insert table on", таким способом присвоить столбцу с identity значения не получается.
Тогда я попробовал другой способ, через SQL.
Пишу:
На таблицах с identity выдает ошибку, что присвоить значение столбцу можно только когда identity_insert устновлен в ON. А он должен быть установлен, потому что я Connection.Execute "set identity_insert table on" выполнял.
Если все выполнять в одной строке, т.е.
Тогда работает. Но так мне неудобно, хотелось бы по нормальному (устанавливать identity_insert один раз, перед вставкой всех данных).
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
Решение задачи: «Внесение данных в таблицы с identity-столбцом»
textual
Листинг программы
For I = LBound(T.Fields) To UBound(T.Fields)<br> If rs.Fields(I).Properties("ISAUTOINCREMENT").Value Then<br> 'вот тут<br> Else<br> rs.Fields(I).Value = R.Values(I)<br> End If<br>Next I
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д