Внесение данных в таблицы с identity-столбцом - VB

Узнай цену своей работы

Формулировка задачи:

Есть самодельная процедура импорта/экспорта базы данных.
При экспорте данных все данные из БД выгружаются в файл. При импорте данных вначале производится очистка БД, затем в таблицы загружаются данные.
Некоторые таблицы содержат 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы