![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
добавление записи с если первичный индекс автоинкрементный [D5, Paradox, ]
victor © (2001-12-10 07:47:00)как добавить запись методом InsertRecord
что указывать в место счетчика
Deniz (2001-12-11 07:00:00) [1]Для IB можно написать процедуру, возвращающую след. ID, и для других серверов наверно.
А вообще, об этом была длинная дискуссия.
EsKor (2001-12-11 04:52:00) [2]Возможно, что в Вашем случае (первичный индекс автоинкрементный ) это единственная возможность нормально вставлять записи применяя пару:
close - open. Честно говоря я не понял с чем Вы работаете, но прочитал не помню в какой книге, что в механизме работы с SQL-серверами есть ошибка.
Состоит она в том, что при вставке новой записи сервер создает новое значение автонаращиваемого поля, но обратно в набор данных его не возвращает, соответственно возникает ошибка. Для обхода этой неприятности и применяется Close - Open. На IBase это проверено - так оно и есть, про остальные не знаю.
victor (2001-12-10 14:16:00) [3]с помощью Refresh не получилось
а вот если
close
open
тогда все в порядке хотя вроде тоже самое :)
Tonie (2001-12-10 13:10:00) [4]В это поле не вставляй ничего, а после вставки Refresh твой Query
victor (2001-12-10 11:54:00) [5]да с Table или просто с Query не надо
но мне приходится из-за сортировки использовать UpdateSQl
и при этом так не получается это поле так и остается пустым пока не закроешь и опять не откроешь прогу
или я что то не правильно делаю
кто работал с UpdateSql отзовитесь
EsKor (2001-12-10 09:18:00) [6]По идее ничего не надо указывать.
По крайней мере, если используется DBNavigator и Table для работы с Paradox, проверено - по подтверждению или переходу на другую запись, значение в поле вносится автоматически.
Помнится экспериментировал с локальным сервером IBase, там создавался триггер на вставку (добавление) записи, то в SQL-запросе по созданию новой записи, это поле тоже указывать не нужно было.