Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.21;
Скачать: CL | DM;

Вниз

Как скопировать строку в ADOQuery?   Найти похожие ветки 

 
Uran   (2005-07-13 11:36) [0]

мастера, подскажите пожалуйста ...
необходимо релазиовать процедуру в которую передается DataSet, и значение ключиевого, поля. Необходимо что бы это процедура скопировала строку с переданным значением ключевого поля в новую строку.
Подскажите пожалуйста как это лучше реализовать.


 
ANB ©   (2005-07-13 11:37) [1]

Клчевое поле тоже будешь дублировать ?


 
Uran   (2005-07-13 11:55) [2]

Нет ... продублировать нужно все кроме ключевого поля.
Оно счетчиком генерируется.


 
ЮЮ ©   (2005-07-13 12:08) [3]

>которую передается DataSet, и значение ключиевого, поля.

А где уверенность, что в этом датасете есть запись с этим ключом?
И куда вставлять? В DataSet или таблицу?


 
sniknik ©   (2005-07-13 12:11) [4]

> Подскажите пожалуйста как это лучше реализовать.
это лучше не реализовывать. т.к. есть подозрение (> "Оно счетчиком генерируется."), что нужно оно тебе для передачи в запрос на вставку в другую таблицу... копирование такое своеобразное.
так вот если так, или хотябы подобное, то это принципиально неверный подход.


 
Slym ©   (2005-07-13 12:53) [5]

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;


 
Uran   (2005-07-13 14:28) [6]

Slym спасибо большое! :) то что надо!:)



Страницы: 1 вся ветка

Текущий архив: 2005.08.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.057 c
14-1122613410
Rentgen
2005-07-29 09:03
2005.08.21
АвтоПереименование в IDE Delphi


1-1122724239
Antonn
2005-07-30 15:50
2005.08.21
Ресурсы в EXE шнике


1-1122705542
Igit
2005-07-30 10:39
2005.08.21
Неправильно читается файл


14-1122893854
GRAND25
2005-08-01 14:57
2005.08.21
Во смекалка!


14-1122941411
k2
2005-08-02 04:10
2005.08.21
Imagine Cup 2005