Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];

Вниз

Загрузка данных в DBF из текстового файла   Найти похожие ветки 

 
n_sch   (2008-06-09 13:37) [0]

Добрый день, подскажите пожалуйста есть текстовый файл примерно такого вида:
2577|42307810440374706074|6500.00|аааааааа|ббббббббббб|сссссссс
2577|42307810040374816021|10000.00|аааааа|ллллллл|ххххххххххх
2577|42307810540376200850|6960.00|ппппппппп|ффффффффф|ввввввв
и табличка DBF c 6-ю символьными полями, как загрузить в таблицу весь текстовый файл , разделители между полями в DBF естественно "|".
Спасибо.


 
clickmaker ©   (2008-06-09 13:45) [1]

> как загрузить в таблицу весь текстовый файл

программно?
загрузи как stringlist, потом в цикле разбивая на поля, Table.Append
Table предварительно настрой на нужный *.dbf


 
palva ©   (2008-06-09 14:33) [2]

Текстовый файл можно прочитать в рекодсет как CVS при помощи Jet. Например, если файл называется prb.txt, то строка соединения такая:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.;Extended Properties="Text;FMT=Delimited;HDR=No;"
Запрос:
SELECT * FROM prb.txt
Если читаются все поля, то пройдет, наверно и такой запрос:
prb.txt
Рядом с файлом надо положить файл с именем schema.ini следующего содержания:

[prb.txt]
Format=Delimited(|)


 
версия для печати   (2008-06-09 14:41) [3]

если на один раз, то открой в екселе как cvs и сохрани как dbf


 
версия для печати   (2008-06-09 14:42) [4]

cvs = csv, конечно


 
n_sch   (2008-06-09 15:32) [5]

Извените за идиотский вопрос но,
> Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.;Extended
> Properties="Text;FMT=Delimited;HDR=No;"


это относиться к чему или к какому компоненту, TTable, DataSource или DataSetProvider ????


 
clickmaker ©   (2008-06-09 16:04) [6]

к тому, у которого есть ConnectionString


 
palva ©   (2008-06-09 18:53) [7]


> n_sch   (09.06.08 15:32) [5]

Я попробовал, но первая строка файла упорно интерпретировалась как имена колонок. У меня заработало, когда я сделал так:
Файл schema.ini такой:
[prb.txt]
Format=Delimited(|)
ColNameHeader=False

В этом файле можно также задать имена и форматы колонок, кодировку и др. например так:
Col1=FieldName1 Integer Width 15
Col2=FieldName2 Date Width 15
Col3=FieldName3 Char Width 40
Col4=FieldName4 Float Width 20
CharacterSet=ANSI

Но это я не пробовал. Информацию взял отсюда: http://connectionstrings.com/?carrier=textfile)
prb.txt и schema.ini положил в директорию d:/c
Положил на пустую форму
   ADOTable1: TADOTable;
   DataSource1: TDataSource;
   DBGrid1: TDBGrid;
   Button1: TButton;

Код на кнопке следующий:
procedure TForm1.Button1Click(Sender: TObject);
begin
   DataSource1.DataSet := AdoTable1;
   dbGrid1.DataSource := DataSource1;
   ADOTable1.ConnectionString :=
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\c;" +
"Extended Properties="Text;FMT=Delimited;"";
   ADOTable1.TableName := "prb#txt";
   AdoTable1.Active := true;
end;


 
palva ©   (2008-06-09 20:01) [8]


> В этом файле можно также задать имена и форматы колонок

Наверно, вам все-таки придется указать форматы полей, поскольку вторая колонка интерпретируется как double, и самые правые цифры строки отсекаются округлением.

Ну это конечно, если вы решили читать файл именно этим способом.



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

Форум: "Начинающим";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
2-1212990723
Mishenka
2008-06-09 09:52
2008.07.06
Как сделать панель наподобие инспектора объектов в Delphi ?


4-1192480485
Magedon
2007-10-16 00:34
2008.07.06
Ассоциация файлов


2-1212701907
alex-drob
2008-06-06 01:38
2008.07.06
Как проверять установлен флаг или нет


15-1210803414
Маэстро
2008-05-15 02:16
2008.07.06
Неужели вернутся к книгам?


15-1211534909
Reindeer Moss Eater
2008-05-23 13:28
2008.07.06
рашен процессор каминг сун





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский