|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Delphi и база данных accdb
База данных содержит таблицу; таблица содержит десятки тысяч записей; запись содержит 5 полей.
Нужно: 1. при запуске программы, все записи таблицы загрузить в массив записей. 2. периодически, программа должна добавлять записи в таблицу. 3. отображение и ручной ввод не требуется - все автоматизировано. Посоветуйте пожалуйста, какие компоненты лучше всего использовать? Есть предположение использовать TADOQuery, TDataSource, TDBNavigator, TDBEdit (5 штук, для 5 полей). Последний раз редактировалось SpectraL, 30.05.2011 в 09:16. |
#2
|
|||
|
|||
дык если ничего отображать не надо, а только добавлять, используйте TADOConnection + TADOCommand с INSERT или UPDATE.
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#3
|
||||
|
||||
Если ручной ввод не требуется, зачем TDBEdit? Вы, вообщем- то все компоненты и перечислили (нехватает только ADOConnection), или я не понимаю суть вопроса?
|
#4
|
||||
|
||||
Ещё надо данные таблицы загрузить в массив. А как можно активировать выполнение запроса в компоненте TADOCommand?
|
#5
|
||||
|
||||
Цитата:
Цитата:
Последний раз редактировалось SpectraL, 30.05.2011 в 10:26. |
#6
|
||||
|
||||
Цитата:
|
#7
|
|||
|
|||
ну если вам нужно ТОЛЬКО вставлять данные, то TADOCommand, а если вам нужно как-то проверять данные перед вставкой новых, то безусловно - TADOQuery (если он будет один, то TADOConnection не нужен, можно использовать ConnectionString). Расскажите подробнее, зачем нужно создавать массив с данными?
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#8
|
||||
|
||||
Цитата:
|
#9
|
|||
|
|||
а SQL запросом нельзя сразу вычислить всё что нужно? зачем память забивать массивом и т.д.? а если записей будет миллион?
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#10
|
||||
|
||||
Цитата:
1. при запуске программы, запрос на выборку Цитата:
2. во время выполнения программы, запрос на добавление записи Цитата:
|
#11
|
||||
|
||||
Используя TADOCommand у мня запрос на добавление не получаеца, пишет "Ошибка синтаксиса в инструкции INSERT INTO".
Настройки TADOCommand: Connection String := ... CommandText := INSERT INTO Tablica (Pole1, Pole2, Pole3, Pole4, Pole5) VALUES (34, 45, 56, 86, 24) Запуск запроса (при нажатии Button1): ADOCommand.Execute; Последний раз редактировалось SpectraL, 30.05.2011 в 12:35. |
#12
|
||||
|
||||
Ну собственно загрузить в массив можно так:
Код:
Var i: Integer; Data: Array of Integer; begin SetLength(Data, AdoQuery1.RecordCount); while not AdoQuery1.Eof do begin Data[i] := AdoQuery1.Fields[2].AsInteger; AdoQuery1.Next; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#13
|
|||
|
|||
Цитата:
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#14
|
||||
|
||||
Цитата:
|
#15
|
|||
|
|||
сделайте запрос в TADOQuery:
Код:
ADOQuery1.SQL.Text := 'тут запрос полный'; ADOQuery1.SQL.SaveToFile('123.txt'); взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |