Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.28;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.022 c
1-91293
HalloWin
2003-04-17 12:57
2003.04.28
Проверка правильности имени файла


3-91219
Джек
2003-03-17 15:47
2003.04.28
Проблема DBGrid и DragDrop


14-91510
Sheng
2003-04-10 08:32
2003.04.28
Токо что нашёл маааленький недочёт у форума


3-91235
Сергей
2003-04-11 08:07
2003.04.28
Как лечить изменение полей Date


14-91457
Armageddon
2003-04-11 23:57
2003.04.28
Програмное добавление данных.