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

Вниз

Считывание текста в базу   Найти похожие ветки 

 
pilot   (2002-02-26 07:18) [0]

Здраствуйте
Помогите новичку.Есть текстовый файл с разделителями.Как считать его в базу DBF?
Большая просьба с конкретным кодом примера,а не советы вроде "используй
Read,Write и далее записываешь в базу".
База простая
Текcтовый файл.
1!Фамилия!Имя!Отчество!
База dbf
N,Family,Name,FerstName.
Pilot


 
fnatali   (2002-02-26 09:03) [1]

Читаешь, действительно, командой readln из текстового файла в строковую переменную. Затем выделяешь из этой строки нужные тебе фрагменты (по разделителям - используя команды pos и copy) и записываешь их в dbf файл примерно так:
Table1.fieldbyname("Family").asstring:=fam;
И всё.


 
sniknik   (2002-02-26 09:07) [2]

Определись с чем будеш работать в BDE наверное придется вручную писать разбор строки, в ADO можно подключится к тексту как к базе
строка подключения (ConnectionString) следующая
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Path;Extended Properties=Text;Persist Security Info=False
дальше проще просто проходиш по полям и копируеш.
Или если основное подключение к MDB делаеш запрос типа SELECT INTO/Insert INTO в свою таблицу. Тут пример позже будет (с работы) если интересует.


 
pilot   (2002-02-26 11:37) [3]

Работать будет с BDE.
Пример меня оооочень интересует.
Напишите пожалуйста пример.


 
sniknik   (2002-02-26 11:42) [4]

Обещаный пример.
1.Сперва создаеш Mdb базу (в Accese) например
2.Подключаешся
3.В ADOCommand.CommandString:= "SELECT * INTO [dBase IV;DATABASE=D:\].[DBASE#DBF]" FROM [Text;DATABASE=D:\].[Text#Txt]"
4.ADOCommand.Execute
SELECT INTO создает таблицу! для добавления используй INSERT INTO. ADOCommand.ChekParam должно быть False иначе вместо результата выдаст ошибку. И последнее в текстовом файле первая строка для заголовков если их нет потеряеш значения первой строки.


 
Alexander Vasjuk   (2002-02-26 12:21) [5]

Мой вариаат

var
a: tstrings;
t: textfile;
s: string;
i: integer;
begin
a := tstringlist.create;
assignfile(t, "filename.txt");
reset(t);
while not eof(t) do
begin
readln(t, s);
while (pos("!"), s) <> 0 do s[(pos("!"), s)] := ",";
s := s + ",,,,";
a.commatext := s;
table1.append;
for i := 0 to 4 do table1.fiels[i].asstring := a[i];
table1.post;
end;
closefile(t);
a.free;
end;


 
Sam3D   (2002-02-26 13:46) [6]

Если база - Interbase, то можно использовать механизм внешних таблиц:
CREATE TABLE имя EXTERNAL FILE "файл" ...



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

Форум: "Базы";
Текущий архив: 2002.03.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
1-80545
DmitryPV
2002-03-08 14:54
2002.03.25
Создание нескольких экземпляров формы


14-80688
mobcos
2002-02-08 21:53
2002.03.25
Господа программисты помогите!


1-80512
Socol
2002-03-06 08:00
2002.03.25
Скрытие формы


14-80671
Lena
2002-02-11 20:10
2002.03.25
Что значит ИМХО???


7-80701
vvvico
2001-12-20 12:12
2002.03.25
Проблемка с W2K





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский