Вниз
Скачать: CL | DM;

Использование AppendRecord   Найти похожие ветки 

 
Patrick ©   (2003-04-09 15:39) [0]

Есть фрагмент программы

var ind : integer;
Varray : array of TVarRec;
begin
MainDataModule.qMarks.Edit;
MainDataModule.qMarks.FieldByName("ReportSort").AsInteger := MaxMark + 1;
MainDataModule.qMarks.Post;
Inc(MaxMark);
for ind := 0 to MainDataModule.qMarks.FieldCount - 1 do
begin
SetLength( Varray, ind + 1);
New(Varray[ind].VVariant);
Varray[ind].VVariant^ := MainDataModule.qMarks.Fields[ind].asVariant;
end;
MainDataModule.qMarks.Delete;
MainDataModule.qMarks.AppendRecord(Varray);

Суть такова
Изменяю запись в Query, затем запоминаю ее в массив, удаляю ее, и делаю AppendRecord, но что-то видно напутал и во вновь введенную запись помещаются неверные значения из массива, точнее видимо не тот байт из структуры TVarRec,посоветуйте что-нибудь,please.


 
Жук ©   (2003-04-09 16:00) [1]

А зачем такие сложности ?


 
Жук ©   (2003-04-09 16:15) [2]

Что-то вроде этого должно быть :

> MainDataModule.qMarks.Delete;

MainDataModule.qMarks.Append;
for ind := 0 to MainDataModule.qMarks.FieldCount - 1 do
MainDataModule.qMarks.Fields[ind].asVariant:=Varray[ind].VVariant^;
MainDataModule.qMarks.Post;



 
Patrick ©   (2003-04-09 16:17) [3]

Я понимаю, что подобное можно сделать более простым способом, но мне необходимо тасовать записи внутри DataSet, при всем при том не делая ApplyUpdates, может есть какие-либо варианты?


 
Patrick ©   (2003-04-09 16:21) [4]

Просто хотел попробовать именно AppendRecord, по типу считал запись в массив, а затем в нужный момент добавил, или вставил или изменил.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
14-91527
Mike B.
2003-04-10 17:23
2003.04.28
Молоко


6-91420
Snake2000
2003-03-05 15:53
2003.04.28
Protected onError метод


4-91584
Diamond Cat
2003-02-28 03:45
2003.04.28
Ресурсы


4-91582
Sfagnum
2003-02-27 17:01
2003.04.28
Ширина текста


3-91159
Knight
2003-04-09 14:13
2003.04.28
Программы скрытия дисков и управления доступом к папкам и файлам




   Наверх