Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2011, 23:47   #1
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию Перенести текст в Базу данных

Люди. Подскажите пожалуйста как перенести текст в базу данных Access.
Например имеем базу данных с полями key1, Фамилия, Год рождения и имеем текстовый файл, например spisok.txt. В этом текстовом файле в строку написано:
<Иванов Иван Иванович><24.05.1964>
<Семенов Сергей Николаевич><15.01.1972>
и т. д.
Вот нужно перенести Иванов Иван Иванович в поле Фамилия БД, а 24.05.1964 в поле Год рождения. И т. д.
Помогите пожалуйста!!!
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 08.01.2011, 00:31   #2
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию Re

перенос текста я уже нашел. Подскажите пожалуйста как теперь мне поудалять в текстовом файле ненужные символы "<" ">" ну и т.д. и вставить между ФИО и годом рождения запятую чтобы получить возможность импортировать в БД Access
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 08.01.2011, 00:49   #3
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Яб написал программу, которая будет считывать фаил построкам и делать с записями все необходимые действия.

Например убирать '<' и '>', или сформировать абсолютно любую структуру.

К примеру можно сформировать фаил с новой структурой:

insert into table_name (id, fam, god) values('Иванов Иван Иванович','24.05.1964');
insert into table_name (id, fam, god) values('Семенов Сергей Николаевич','15.01.1972');

Кароче скажи как написать новые запросы и сформировать эти запросы не составит труда.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 08.01.2011, 01:03   #4
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию

Думаю былобы хорошо что бы просто убирать '<' и '>' Тоесть чтобы была одна строка
Пример:
До нажатия на кнопку текст <Иванов Иван Иванович><24.05.1964>
После
Иванов Иван Иванович 24.05.1964

только чтобы между ними пробел был вместо "><"
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 08.01.2011, 01:03   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну и что смущает?
Читаете текстовый файл (например, через TStringLis.LoadFromFile)
построчно
парсите и через ADOQuery, используя SQL с параметрами (insert into ) заносите данные в БД.


Добавлено
упс...
Пока писал, уже тему раскрыли..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.01.2011, 01:26   #6
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Всё просто )

Код:
Function FormerS(S : String) : String;
Var
  i : Integer;
  N : String;
Begin
N := '';
Insert(' ', S, Pos('><', S));
For i := 1 To Length(S) Do
  Begin
    If (S[i] = '<') Or (S[i] = '>') Then Continue;
    N := N + S[i];
  End;
Result := N;
End;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
Var
  AOld, ANew : TextFile;
  P : String;
Begin
If FileExists(Edit1.Text) = True Then
  Begin
    AssignFile(ANew, 'out.txt');
    AssignFile(AOld, Edit1.Text);
    Rewrite(ANew);
    Reset(AOld);
    While Not Eof(AOld) Do
      Begin
        Readln(AOld, P);
        Writeln(ANew, FormerS(P));
      End;
    CloseFile(AOld);
    CloseFile(ANew);
  End
Else
  Begin
    ShowMessage('Фаил базы [' + Edit1.Text + '] не найден.');
  End;
End;
Вложения
Тип файла: rar 4.rar (173.1 Кб, 15 просмотров)
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 08.01.2011, 01:53   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

demiancz
Если список не секретный, возьмите список (если он большой - достаточно несколько десятков строк, хотя, можете и весь список взять, это не проблема), возьмите пустую БД с таблицей с нужной структурой, запакуйте эти файлы в архив и архив прикрепите к сообщению на форуме.

Если же содержимое списка не для широкого круга зрителей (мы же не хотим нарушить закон о защите персональных данных?! ) - тогда возьмите несколько строк, забейте реальные данные на что-нибудь абстрактное, только обязательно сохраните структуру (т.е. там, где буквы, должны быть буквы, где цифры - цифры, где знаки препинания - там знаки препинания.

Думаю, что смогу написать Вам готовый код.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.01.2011, 02:02   #8
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию Re

Вот файл. Нужно чтобы в базу данных отбирало в одно поле ссылку, во второе название фильма.
Вложения
Тип файла: txt Films.txt (1.0 Кб, 137 просмотров)
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 08.01.2011, 02:16   #9
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию

Все. Походу сам начинаю понимать. Выспаться просто надо.
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 08.01.2011, 02:26   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

demiancz
ну и отлично. Удачи.

Обратите внимание, что текстовый файл у Вас в Unicode (UTF-16)
Его в Delphi версии < 2009 надо правильно прочитать.
вот, рекомендую, от GunSmoker полезная статеечка + компонент:
Работа с текстовыми файлами в любой кодировке из Delphi до 2009


а ещё лучше - пишите под .NET (например, на C#) - там такой формат "родной"...

Последний раз редактировалось Serge_Bliznykov; 08.01.2011 в 03:03.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перенести базу на другой комп Fog Свободное общение 1 08.12.2010 19:53
Как перенести базу данных на другой комп Fog Общие вопросы .NET 2 06.12.2010 15:14
Перенести текст на новую строку VistaSV30 Microsoft Office Access 4 31.01.2010 08:45
перенести базу SQL Server S_Yevgeniy БД в Delphi 4 29.11.2009 17:13
нужно перенести базу данных Рокабіллі_Птах БД в Delphi 4 07.05.2008 22:55