|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Добавление записи в БД 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; создал поле счетчика, чтоб самому наращивать количество записей...думал что надежнее...поэтому воткнул такую строчку Цитата:
но блин всегда возвращает 2...HELP!!! Последний раз редактировалось ZaaaK, 04.07.2010 в 13:17. |
#2
|
|||
|
|||
мало что понял из написаного... вообще насколько я знаю когда добавляешь новую строку нужно открывать метод append, советую почитать информацию и скачать пару исходников с сайта чтобы разобраться
а со счетчиком ты чето мудришь... непроще в таблице поставить поле + (autoincrement) |
#3
|
|||
|
|||
короче типо я не знаю но нафлужу,так?что не понятно в формулировке задачи? нашел решение...добавил вот так -
Код:
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 а по литературам и форумам и я умею отсылать, вроде как тут отписывают конкретные решения |