Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Копирование записей [D6]


Страницы:   1 2

webpauk ©   (2007-11-12 12:26:00) 

Копирую несколько записей.
Таблица из 3 полей: ID, IDFilter, Name.
Пытаюсь присвоить им правильную нумерацию, но столкнулся с проблемой, если определить количество записей и просто добавлять их к ID - не получается правыильная нумерация.

var
   fI1, fI2, fI3: Integer
begin
   fI1:=значение1; // IDFilterOld
   fI3:=значение2; // IDFilterNew

   SQL.Clear;
   SQL.Add('SELECT COUNT(*) AS RecCount FROM MyTable');
   Active:=True
   fI2:=FieldByName('RecCount').AsInteger;

   SQL.Clear;
   SQL.Add('INSERT INTO MyTable');
   SQL.Add('SELECT ID+'+IntToStr(fI2)+', '+IntToStr(fI3)+', Name FROM MyTable');
   SQL.Add('WHERE (IDFilter=:IDFilter)');
   Params[0].AsInteger:=fI1;

   ExecSQL;
end;


код работает, пока ID идет последовательно.


webpauk   (2007-11-12 14:11:00) [1]


> Reindeer Moss Eater ©   (12.11.07 14:07) [36]

фффух...
тип поля ftautoinc - и не надо ломать голову!!!


Reindeer Moss Eater   (2007-11-12 14:07:00) [2]

SQL.Add('INSERT INTO MyTable(IDFilter,Name) VALUES (1,'Hello')')


webpauk   (2007-11-12 14:03:00) [3]

во...
ID: тип поля ftAutoInc
как правильно добавить запись (поля ID, IdFilter, Name)
SQL.Add('INSERT INTO MyTable VALUES (...)')если IDFilter=1, Name='Hello'


Reindeer Moss Eater   (2007-11-12 13:38:00) [4]

в документации по серверу


webpauk   (2007-11-12 13:36:00) [5]


> Reindeer Moss Eater ©   (12.11.07 13:26) [30]
> Триггер таблицы на инсерт

примерчик???


Anatoly Podgoretsky   (2007-11-12 13:36:00) [6]

> webpauk  (12.11.2007 13:25:29)  [29]

N := N + 1;


Сергей М.   (2007-11-12 13:30:00) [7]


> TDBISAMQuery


Зашибись СУБД)

А TSuperPuperQuery - это тоже СУБД, надо понимать ?


Reindeer Moss Eater   (2007-11-12 13:26:00) [8]

Триггер таблицы на инсерт


webpauk   (2007-11-12 13:25:00) [9]


> Anatoly Podgoretsky ©   (12.11.07 13:24) [27]


инкриментирование


webpauk   (2007-11-12 13:24:00) [10]

SQL.Clear;
SQL.Add('INSERT INTO MyTable SELECT ???, IDFilter, Name FROM MyTable WHERE (IDFilter=1)');
ExecSQL;


Anatoly Podgoretsky   (2007-11-12 13:24:00) [11]

> webpauk  (12.11.2007 13:21:24)  [24]

Проблема с сохранением во временную переменную и ее инкриментирование?


Reindeer Moss Eater   (2007-11-12 13:22:00) [12]

goto [1]


webpauk   (2007-11-12 13:22:00) [13]

одним INSERT-ом


webpauk   (2007-11-12 13:21:00) [14]

наверно, нечетко сформулировал: надо добавить в базу N записей, причем
для каждого поля ID значение равно RecordCount+1


Reindeer Moss Eater   (2007-11-12 13:14:00) [15]

SQL.ADD('SELECT * FROM MyTable WHERE (RecNo=1)');


webpauk   (2007-11-12 13:12:00) [16]

если ID не использовать, как в SQL запросе найти запись по её номеру?
SQL.ADD('SELECT * FROM MyTable WHERE (???=1)');


Reindeer Moss Eater   (2007-11-12 13:09:00) [17]

Это уже упорядоченный набор данных на клиенте.  Над ним уже нельзя выполнить SQL запрос.
А на сервере нет никакого рекно.


sniknik   (2007-11-12 13:09:00) [18]

> Скоро придется все ветки закрывать из-за нежелания автора сотрудничать с органами.
договорились! давно хотел, т.к. изза не заполнения всего пары полей после столько флуда возникает...
лучше, бы их сделать обязательными... но...

скоро - например с завтрашнего дня, пойдет?


webpauk   (2007-11-12 13:08:00) [19]

упс...
TdataSet.RecNo - Indicates the activerecord in the dataset.


webpauk   (2007-11-12 13:05:00) [20]


> Reindeer Moss Eater ©   (12.11.07 13:03) [17]


with Table1 do
begin
 First;
 while not Eof do
 begin
   Showmessage(inttostr(RecNo));
   Next;
 end;
end;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо