Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
Внизустановить курсор в датасете после insert Найти похожие ветки
← →
LDV (2011-11-25 12:40) [0]СУБД Paradox.
Есть Query1, связанный с DBGrid, который отображает содержимое некоторой таблицы . Нужно сделать, чтобы при добавлении новой записи INSERT-запросом (Query2), курсор в выборке Query1 выставлялся на добавленную запись. Как это правильно сделать?
Ничего лучше, чем нижеприведенный вариант, не придумал, но он мне кажется хреновым:
// ...
Query2.SQL.Text := "INSERT INTO products (...) VALUES(...); SELECT @@identity";
// ...
Query2.ExecSQL;
ProductId := Query2.Fields[0].AsInteger;
Query1.Locate("Id", ProductId, []);
← →
Anatoly Podgoretsky © (2011-11-25 12:44) [1]> LDV (25.11.2011 12:40:00) [0]
все интересное за точками спрятал, и как оно там в базе, нам не говоришь.
← →
sniknik © (2011-11-25 12:48) [2]зачем запрос на вставку при уже открытой таблице?
← →
LDV (2011-11-25 12:51) [3]
> зачем запрос на вставку при уже открытой таблице?
а как тогда, добавлять через append, post в открытом датасете?
← →
Anatoly Podgoretsky © (2011-11-25 12:54) [4]1. Интереснее хачем обращение к закрытой таблице Fields[0].AsInteger, а после ExecSQL оно закрыто
2. зачем обращение к необновленой таблице Query1.Locate, данные там старые, хотя может повезет
← →
Anatoly Podgoretsky © (2011-11-25 13:00) [5]С Парадоксом можно работать с таблицей, а не запросами, навигационными методами, а в некоторых случаях и нужно. Например получение автоинкриментного номера.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c