Форум: "Базы";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];
Внизisnert into table Найти похожие ветки
← →
Rel_ (2003-05-28 09:27) [0]Привет всем. Отсоветуйте что-нибудь по сл. вопросу:
есть об-т Query1, в нём запрос на изменение таблица:
isnert into table (f1, f2, ...) values (:param1, :param2, ...)
- таким образом я переливаю данные из одной таблицы в другую.
Таблица-источник может быть произвольной, и запрос генерируется произвольно в реал-тайме. Поэтому поля f1,f2, ... - могут относятся к произвольным типам (заранее не известным). Могу ли я задать параметрам тип Variant и заносить данные не конкретизируя их тип, а как Variant.
Например: param1.datatype := ftVariant, а затем
param1.asvariant := (табл-ист).Fields[i].AsVariant
← →
Rel_ (2003-05-28 09:31) [1]или может сделать проще - вместо variant заносить данные как строку ftstring (тем более, что нет такого: param1.asVariant)
← →
passm (2003-05-28 09:35) [2]Тебе известен источник. Вот и используй его.
Query2.Text =
SELECT T1.FIELD1, T1.FIELD2
FROM TABLE1 AS T1
Формируешь запрос в Query1 и немного кода:
for i:= 0 to Query1.Params.Count - 1 do
Query1.Params[i].AssignField(Query2.FieldByName(Query1.Params[i].Name))
И исполняешь Query1.
Разумеется, проследи чтобы имя параметра в Query1 совпадало с именем поля в Query2.
Но это как бы сделал я...
← →
Rel_ (2003-05-28 09:44) [3]спавибо - сейчас попробую !!!
← →
kravchuk (2003-05-28 12:08) [4]Вроде можно еще так
Query1.Prepare;
Query1.ParamByName("param1").Value := (табл-ист).Fields[i].Value
← →
passm (2003-05-28 12:29) [5]kravchuk © (28.05.03 12:08)> DataType еще указать нужно.
← →
kravchuk (2003-05-28 16:45) [6]passm © (28.05.03 12:29) Кому и зачем?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c