Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Перезапись поля во всех строках таблицы Бд


Автор: MMihan 10.6.2012, 16:31
Добрый день как реализовать Перезапись одного поля 'N'- Тип поля числовой , Бд access,
во всех строках БД 
если делаю ADOQuery то ссылается на неверный тип данных..
если через AdoTable то просто переходит на последнюю строку

есть Заявки с номерами 1 2 3 4 5 итд. удаляем заявку с номером 3 получается 1 2 4 5 нужно сделать 1 2 3 4 
Код



procedure TMainForm.Button1Click(Sender: TObject);
 
  var m:integer;
begin
  ADOQuery1.Close;
 
  ADOQuery1.Open;
  while ADOQuery1.Eof do
begin
 
  m:=m+ADOQuery1.FieldByName('N').AsInteger;
  ADOQuery1.Next;
  ADOQuery1.Active:=true;
 
end;
end;
 

Автор: Frees 10.6.2012, 20:50
можно выполнить update запрос 

Код

update table1
set N = N - 1
where N > 3

Автор: MMihan 11.6.2012, 13:03
спасибо так не пойдет)) записей можеть быть и мольше и не иммено что 3 ))

Автор: XperT 11.6.2012, 13:42
Цитата(MMihan @ 11.6.2012,  13:03)
спасибо так не пойдет)) записей можеть быть и мольше и не иммено что 3 ))

Советую подучить SQL, этот запрос - самый лучший и самый простой вариант в вашей ситуации

Автор: superVad 11.6.2012, 19:58
Цитата(MMihan @  11.6.2012,  12:03 Найти цитируемый пост)
спасибо так не пойдет)) записей можеть быть и мольше и не иммено что 3 ))

Задание на лето - переписать этот запрос для другого номера.

Автор: Данкинг 11.6.2012, 20:50
Цитата(MMihan @  10.6.2012,  17:31 Найти цитируемый пост)
Код
while ADOQuery1.Eof do
begin
 
  m:=m+ADOQuery1.FieldByName('N').AsInteger;
  ADOQuery1.Next;
  ADOQuery1.Active:=true;
 
end;

А что вообще должен делать этот код и каким местом тут обновление поля?

Автор: Akella 12.6.2012, 19:26
Цитата(MMihan @  10.6.2012,  16:31 Найти цитируемый пост)
есть Заявки с номерами 1 2 3 4 5 итд. удаляем заявку с номером 3 получается 1 2 4 5 нужно сделать 1 2 3 4 


если это ключевое поле, то забудь и никогда так не делай

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)