Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
ВнизQuery Найти похожие ветки
← →
Ral'f (2007-06-14 09:53) [0]Вопрос по структуре запроса:
ситуация следующая - программа выполняет последовательно несколько процедур, результат выполнения каждой необходимо сохранить в таблице Access. И вот, вроде бы, Таблица одна и та-же, везде один и тот-же INSERT, только разные значения переменных. Как можно организовать в такой ситуации сохранение в БД новых записей? что будет лишним?if Query.Active then Query.Close;
...
Query.Open;
...
Query.Close;
← →
Sergey13 © (2007-06-14 10:21) [1]> [0] Ral"f (14.06.07 09:53)
> что будет лишним?
Да все. Приведенный код вообще тут никак к вопросу не относится.
← →
ЮЮ © (2007-06-14 10:27) [2]> что будет лишним?
Всё.
> везде один и тот-же INSERT, только разные значения переменных
Query.SQL.Text := "INSERT INTO xxx(f1, ..., fn) VALUES (:f1, ..., :fn )";
Query.Parameters[0].Value := ...;
...
Query.Parameters[n-1].Value := ...;
Query.ExecSQL;
...
Query.Parameters[0].Value := ...;
...
Query.Parameters[n-1].Value := ...;
Query.ExecSQL;
Если же Query возвращает НД (коль поминаются Open, Close), то можно просто
Query.Insert; // вставить запись
Query.Fields[0].asXXX := ... // заполнить поля
...
Query.Post; // запомнить изменения - здесь движок и выполнт >везде один и тот-же INSERT, только разные значения переменных
← →
Ral'f (2007-06-14 10:29) [3]> Приведенный код вообще тут никак к вопросу не относится
Всё по книге!try Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(...);
Query1.Open;
...
только не написано, - как можно сделать, когда запрос один и тот-же, чтобы не переписывать всё по несколько раз!
← →
Ral'f (2007-06-14 10:31) [4]Ещё раз спасибо, ЮЮ!!!
← →
ЮЮ © (2007-06-14 10:31) [5]> когда запрос один и тот-же, чтобы не переписывать всё по несколько раз используют параметрические запросы
← →
Desdechado © (2007-06-14 11:16) [6]ЮЮ © (14.06.07 10:31) [5]
Если совсем правильно, то параметрические запросы использовать следует всегда, а не только когда один и тот же запрос.
← →
Sergey13 © (2007-06-14 11:20) [7]> [6] Desdechado © (14.06.07 11:16)
А смысл? Я не говорю, что не надо параметры использовать, но одиночный неповторяющийся запрос все равно будет разбираться полностью и все равно ляжет в кеш запросов (если есть таковой).
← →
Sergey13 © (2007-06-14 11:22) [8]Кстати для Аксеса (мне так кажется) параметры вообще только помогают избежать ошибок формата данных.
← →
Desdechado © (2007-06-14 11:23) [9]Чтоб избежать, например, таких граблей
http://delphimaster.net/view/2-1181798599/
И просто гораздо читабельнее код, чем конструирование SQL из огрызков.
← →
Sergey13 © (2007-06-14 11:29) [10]> [9] Desdechado © (14.06.07 11:23)
> чем конструирование SQL из огрызков.
Так это если конструирование есть. Значит тут параметры более чем оправданы. А если нет конструирования?
Я не в качестве спора, просто в качестве ремарки на очень уж обобщенное утверждение.
← →
Anatoly Podgoretsky © (2007-06-14 12:16) [11]Параметры всегда полезны, хотя бы потому что вероятность повторения запросов далеко отлична от нуля.
← →
имя (2007-06-14 12:21) [12]Удалено модератором
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.058 c