Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.07.2010, 13:15
ZaaaK ZaaaK вне форума
Прохожий
 
Регистрация: 23.06.2010
Сообщения: 16
Репутация: 10
По умолчанию Добавление записи в БД Paradox

Здраствуйте,форумчане!
Такая вот проблемка...есть БД в Paradox есть DataSourse, Query и DBGrid все в 1 штука...я открываю базу, добавляю в нее строчку с информацией программным путем,сохраняю базу...проблема в том, что всегда 1 запись в базе выходит...т.е. не переходит на следующую запись...я что-то в недоумении..прилагаю код...
Код:
   DataSource8.DataSet:=Query1;
   DBGrid1.DataSource:=DataSource8;

   Query1.Close;
   Query1.SQL.Clear;
   Query1.SQL.Add('Select * from kurs_predm.db');
   Query1.Open;

   Query1.Edit;
   //Query1.Next;

 Query1.FieldByName('Counter').asstring:=inttostr(Query1.RecordCount+1);
 Query1.FieldByName('NameDis').asstring:=ds;
 Query1.FieldByName('Student').asstring:=Fam;
 Query1.FieldByName('Ocenka').asstring:=ocen;
 Query1.FieldByName('Otvet').asstring:=IntToStr(shet-1)+'/'+IntToStr(kol_v);
 Query1.FieldByName('Data').asstring:=DateToStr(date);

 // отключение отображения записей в визуальных компонентах
 Query1.DisableControls;
 Query1.First;
 for n:=1 to Query1.RecordCount+1 do
  begin
   // обработка записи набора данных Table1
   Query1.Next;
  end;
 // включение отображения записей в визуальных компонентах
 Query1.EnableControls;
  

создал поле счетчика, чтоб самому наращивать количество записей...думал что надежнее...поэтому воткнул такую строчку
Цитата:
Query1.FieldByName('Counter').asstring:=inttostr(Q uery1.RecordCount+1);

но блин всегда возвращает 2...HELP!!!

Последний раз редактировалось ZaaaK, 04.07.2010 в 13:17.
Ответить с цитированием
  #2  
Старый 04.07.2010, 14:39
windaws windaws вне форума
Начинающий
 
Регистрация: 28.08.2009
Сообщения: 116
Репутация: 10
По умолчанию

мало что понял из написаного... вообще насколько я знаю когда добавляешь новую строку нужно открывать метод append, советую почитать информацию и скачать пару исходников с сайта чтобы разобраться
а со счетчиком ты чето мудришь... непроще в таблице поставить поле + (autoincrement)
Ответить с цитированием
  #3  
Старый 04.07.2010, 15:57
ZaaaK ZaaaK вне форума
Прохожий
 
Регистрация: 23.06.2010
Сообщения: 16
Репутация: 10
По умолчанию

короче типо я не знаю но нафлужу,так?что не понятно в формулировке задачи? нашел решение...добавил вот так -
Код:
Query1.last;
    i:=DBGrid8.DataSource.DataSet.Fields[0].AsInteger;
   Query1.first;
   Query1.Insert;
   inc(i);
    DBGrid8.DataSource.DataSet.Fields[0].AsInteger:=i;

за место что до этого делалось
Код:
  Query1.Insert;

и не нужны никакие Append а по литературам и форумам и я умею отсылать, вроде как тут отписывают конкретные решения
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:16.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter