Форум: "Базы";
Текущий архив: 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