1 (edited by easyterm 2021-04-14 13:36:10)

Topic: Из txt в БД

Дратуйти,


Не встречал ли ктонибудь пример импорта данных из текстового файла в БД?
Я тут что то подобное пытался найти но к сожалению безуспешно.

Или может кто то сможет объяснить как добавить текстовый файл вот с такими данными

Time    Character    Item Type    Quantity    Item Group    
2020.11.17 16:50    Name1    <localized hint="Item5">Item5*</localized>    997    <localized hint="Group5">Group5*</localized>    
2020.11.17 16:39    Name1    <localized hint="Item5">Item5*</localized>    40    <localized hint="Group5">Group5*</localized>    
2020.11.17 16:49    Name2    <localized hint="Item8">Item8*</localized>    1050    <localized hint="Group8">Group8*</localized>    
2020.11.17 16:49    Name1    <localized hint="Item8">Item8*</localized>    593    <localized hint="Group8">Group8*</localized>    
2020.11.17 16:49    Name1    <localized hint="Item6">Item6*</localized>    1565    <localized hint="Group6">Group6*</localized>    
2020.11.17 16:47    Name3    <localized hint="Item6">Item6*</localized>    236    <localized hint="Group6">Group6*</localized>    
2020.11.17 16:49    Name3    <localized hint="Item9">Item9*</localized>    1641    <localized hint="Group9">Group9*</localized>    
2020.11.17 16:50    Name3    <localized hint="Item9">Item9*</localized>    1421    <localized hint="Group9">Group9*</localized>        
2020.11.17 15:35    Name1    <localized hint="Item3">Item3*</localized>    6323    <localized hint="Group3">Group3*</localized>    
2020.11.17 16:27    Name2    <localized hint="Item1">Item1*</localized>    70867    <localized hint="Group1">Group1*</localized>    
2020.11.17 16:25    Name1    <localized hint="Item3">Item3*</localized>    27840    <localized hint="Group3">Group3*</localized>    
2020.11.17 15:00    Name1    <localized hint="Item1">Item1*</localized>    3435    <localized hint="Group1">Group1*</localized>    
2020.11.17 14:56    Name4    <localized hint="Item4">Item4*</localized>    3354    <localized hint="Group4">Group4*</localized>    
2020.11.17 16:27    Name1    <localized hint="Item3">Item3*</localized>    42644    <localized hint="Group3">Group3*</localized>    
2020.11.17 14:56    Name4    <localized hint="Item4">Item4*</localized>    11305    <localized hint="Group4">Group4*</localized>    
2020.11.17 16:25    Name1    <localized hint="Item4">Item4*</localized>    31069    <localized hint="Group4">Group4*</localized>    
2020.11.17 16:27    Name4    <localized hint="Item4">Item4*</localized>    26199    <localized hint="Group4">Group4*</localized>

в БД в таком виде?

Time    Character    Item Type    Quantity
2020.11.17 16:50    Name1    Item5    997    
2020.11.17 16:39    Name1    Item5    40
2020.11.17 16:49    Name2    Item8    1050
2020.11.17 16:49    Name1    Item8    593
2020.11.17 16:49    Name1    Item6    1565
2020.11.17 16:47    Name3    Item6    236
2020.11.17 16:49    Name3    Item9    1641
2020.11.17 16:50    Name3    Item9    1421
2020.11.17 15:35    Name1    Item3    6323
2020.11.17 16:27    Name2    Item1    70867
2020.11.17 16:25    Name1    Item3    27840
2020.11.17 15:00    Name1    Item1    3435
2020.11.17 14:56    Name4    Item4    3354
2020.11.17 16:27    Name1    Item3    42644
2020.11.17 14:56    Name4    Item4    11305
2020.11.17 16:25    Name1    Item4    31069
2020.11.17 16:27    Name4    Item4    26199

Заранее благодарю!

Извиняюсь, я не программист но сильно стараюсь.

Re: Из txt в БД

Используйте класс TCSV для построчного доступа к файлу, а дальше парсите каждую строку.


Для разделения полей, судя по картинке, используется символ табуляции chr(9) - SplitString вам в помощь..В угловых скобках теги, которые, судя по картинке вам не нужны - удаляйте их ( тут помогут pos() и delete() ). 


После того, как данные по строке разобраны, вставляете их в базу SQL-командой  INSERT.

Визуальное программирование: блог и телеграм-канал.

Re: Из txt в БД

ТС же ж не программист... )

Re: Из txt в БД

vovka3003 wrote:

ТС же ж не программист... )

Это только сначала. А потом - или пан, или пропал )))

Визуальное программирование: блог и телеграм-канал.

Re: Из txt в БД

Эх, сложно. По ходу не пан... Но всё равно спасибо за ответы.

Извиняюсь, я не программист но сильно стараюсь.

6 (edited by sibprogsistem 2021-04-24 08:22:12)

Re: Из txt в БД

easyterm wrote:

Эх, сложно. По ходу не пан... Но всё равно спасибо за ответы.

   
  ну, я же не программист )
 

procedure Form1_OnShow (Sender: TObject; Action: string);
var
list: TStringList;
i:integer;
split:array of string;
ItemType,ItemGroup:string;
begin
  list:=TStringList.Create;

  list.LoadFromFile('list.txt');

  for i:=1 to list.Count-1 do
      begin

        split:=SplitString (list[i], chr(9) );

        ItemType:=Copy(split[2], Pos('">', split[2])+Length('">') , Pos('*</localized>', split[2])-Pos('">', split[2])-Length('">'));

        ItemGroup:=Copy(split[4], Pos('">', split[4])+Length('">') , Pos('*</localized>', split[4])-Pos('">', split[4])-Length('">'));


        SQLExecute('INSERT INTO a(Time,Character,ItemType,Quantity,ItemGroup)VALUES("'+split[0]+'","'+split[1]+
        '","'+ItemType+'","'+split[3]+'","'+ItemGroup+'")');


       Form1.TableGrid1.dbUpdate;

     end;
end;