Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

работа с DBF   Найти похожие ветки 

 
Windows_3000   (2005-01-09 23:59) [0]

Подскажите пожалуйста как загрузить данные из файла dbf в таблицу, затем обработать их и занести в эту-же таблицу другие данные на основе имеющихся. Т.е. загружаются 3 столбца таблицы, а из них по формулам получаются другие 5. BDE установлен.
Знаю вопрос глупый, но сам с бд почти не работал, а через поиск ничего так и не нашел. Очень прошу написать как это все можно сделать(главное как работать с dbf) или хотя-бы линк на статью по этой теме. Спасибо !


 
Ditrix ©   (2005-01-10 09:38) [1]

>>загрузить данные из файла dbf в таблицу
Query.SQL.Text:=
"insert into your_dst_table ( <список полей> ) "+
select * from your_src_table ";
Query.ExecSQL;

your_src_table - это имя твоего dbf файла

>> затем обработать их и занести в эту-же таблицу...
Table.TableName:= "your_dst_table"
Table.Open;
while not Table.Eof do begin
// обрабатываешь свои поля
 Table.Next;
end;
...где то так....

кстати, разницы между dbf файлом и "таблицей" нет. работа dbf файлами ничем не отличается от работами с paradox файлами.


 
DSKalugin ©   (2005-01-10 15:00) [2]

Чтобы это было наглядно так:

1-Кинь на форму компоненты DataSource, Table, DBGrid

2-в свойствах этих компонент (F11) надо сделать такую привязку
Table.DatabaseName:=директория где лежит DBF или алиас
Table.TableName:=имя файла DBF
DataSource.DataSet:=Table
DBGrid.DataSource:=DataSource

3-проверяем правильность устанавливаем Table.Active=True
В таблице должна появиться информация из DBF
Программно это делается методами Table.Open / Table.Close
при запуске / выходе из программы соответственно.

4-определись куда будет деваться результат расчета
4.1-просто посмотреть и распечатать, отдать начальнику и забыть
для этого подойдет компонент отчетов типа QReport см. панель компонентов.

4.2-сохранить в таблице базы данных DBF (этой или другой)
если в этой

Table.First;
while not Table.EOF do begin
 Table.Edit;
// Тут сам расчет типа
 Table.FieldByName("имя поля с результатом").Value:=
   Table.FieldByName("имя поля исх дан1").Value*
   Table.FieldByName("имя поля исх дан2").Value / 100 -
   Table.FieldByName("имя поля исх дан3").Value;
 Table.Post;
 Application.ProcessMessages;
 Table.Next;
end;

5-Есть тут у нас один Плюшкин, который собирает на свой сервер всякого рода документацию по программированию.
Рекомендую ознакомиться http://podgoretsky.com/ddp.html
Delphi Documentation Project Анатолий Подгорецкий
6-Купи книгу
7-изучи примеры, которые прилагаются с Delphi


 
Windows_3000   (2005-01-10 17:11) [3]

Огромное спасибо Ditrix и DSKalugin !!
ну просто не знаю что бы без вас делал =) Вот сдам сессию и буду учить бд :P


 
Anatoly Podgoretsky ©   (2005-01-10 17:17) [4]

Не обманваешь?


 
sniknik ©   (2005-01-10 17:21) [5]

обманывает. забудет наверняка (если вспомнил только на сессии).



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.09 c
3-1104263005
KristinaNeedHelp
2004-12-28 22:43
2005.02.06
DBGrid govorit nepravdu =(( 4to delat ?? POMOGITE


6-1101132038
Davinchi9
2004-11-22 17:00
2005.02.06
Где найти компонент для работы с модемом


4-1103012818
ПЛОВ
2004-12-14 11:26
2005.02.06
CreateProcessWithLogonW


9-1099279970
VolanD666
2004-11-01 06:32
2005.02.06
Описание *.mdl


14-1105874676
Чеширский_Кот
2005-01-16 14:24
2005.02.06
TV-программу больше не покупаю!