![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как скопировать строку в ADOQuery? [D7]
Uran © (2005-07-13 11:36:00)мастера, подскажите пожалуйста ...
необходимо релазиовать процедуру в которую передается DataSet, и значение ключиевого, поля. Необходимо что бы это процедура скопировала строку с переданным значением ключевого поля в новую строку.
Подскажите пожалуйста как это лучше реализовать.
Uran (2005-07-13 14:28:00) [1]Slym спасибо большое! :) то что надо!:)
Slym (2005-07-13 12:53:00) [2]procedure Copy(DataSet:TDataSet;const KeyField:string;KeyValue:Variant);
var i:integer;
Data:array of variant;
begin
if not DataSet.Locate(KeyField,KeyValue,[]) then exit;
SetLength(Data,DataSet.FieldCount);
for i:=0 to DataSet.FieldCount-1 do
Data[i]:=DataSet.Fields[i].Value;
DataSet.Append;
for i:=0 to DataSet.FieldCount-1 do
begin
if DataSet.Fields[i].FieldName=KeyField then continue;
DataSet.Fields[i].Value:=Data[i];
end;
DataSet.Post;
end;
sniknik (2005-07-13 12:11:00) [3]> Подскажите пожалуйста как это лучше реализовать.
это лучше не реализовывать. т.к. есть подозрение (> "Оно счетчиком генерируется."), что нужно оно тебе для передачи в запрос на вставку в другую таблицу... копирование такое своеобразное.
так вот если так, или хотябы подобное, то это принципиально неверный подход.
ЮЮ (2005-07-13 12:08:00) [4]>которую передается DataSet, и значение ключиевого, поля.
А где уверенность, что в этом датасете есть запись с этим ключом?
И куда вставлять? В DataSet или таблицу?
Uran (2005-07-13 11:55:00) [5]Нет ... продублировать нужно все кроме ключевого поля.
Оно счетчиком генерируется.
ANB (2005-07-13 11:37:00) [6]Клчевое поле тоже будешь дублировать ?