程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi實現文本轉數據庫-數據庫導出為文本內容

Delphi實現文本轉數據庫-數據庫導出為文本內容

編輯:Delphi

Delphi實現文本到數據庫的相互轉換,數據導出等功能。可把純文本內容按規則寫入到數據庫中,也就是文本導入到數據庫的相應字段中,也可把相應的數據庫內容導出為文本,很不錯吧,我覺得挺實用的,特此分享:

這是一個文本文件的內容示例:frIEnds.txt

立夏 女 22 河南
春秋 女 19 海南
司馬珠 女 21 河北
王重 男 22 湖南
許仙 男 24 湖南

運行效果圖:

Delphi文本到數據庫的轉換

另外程序還使用了db數據庫,這個可在最後面所附的源碼包下載鏈接下載整個文件。

vIEw source print? 01 unit Unit1; 02 interface 03 uses 04   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 05   Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids; 06 type 07   TForm1 = class(TForm) 08     Button1: TButton; 09     Table1: TTable; 10     DataSource1: TDataSource; 11     DBGrid1: TDBGrid; 12     Button2: TButton; 13     Memo1: TMemo; 14     procedure Button1Click(Sender: TObject); 15     procedure Button2Click(Sender: TObject); 16   private 17     { Private declarations } 18   public 19     { Public declarations } 20   end; 21 var 22   Form1: TForm1; 23 implementation 24 {$R *.dfm} 25 procedure TForm1.Button1Click(Sender: TObject); 26 var Str:String; 27  TxtFile:TextFile;//定義一個文本文件變量TxtFile 28  Ch:Char; 29 begin 30    {設置Table1的屬性} 31  Table1.DatabaseName:=ExtractFilePath(ParamStr(0)); 32  Table1.TableName:='frIEnds.db'; 33  Table1.open; 34   //將frIEnds.txt分配給TxtFile變量 35  AssignFile(TxtFile,ExtractFilePath(ParamStr(0))+'frIEnds.txt'); 36  Reset(TxtFile);               //打開frIEnds.txt 37  Str:=''; 38  while not Eof(TxtFile) do    //循環讀取文本內容 39  begin 40   Read(TxtFile,Ch);           //從frIEnds.txt中讀一個字符 41   if Ch<>Char(13)then         //是否為回車鍵 42    Str:=Str+Ch                //不是回車鍵,繼續讀下一個字符 43   else 44   begin                      //是回車符,表明已經讀完一行,此時Str變量即代表一行信息 45    Table1.Append;            //追加記錄 46    Table1.Edit;              //編輯frIEnds.db 47      {讀取文本內容到四個字段中。關鍵:頂格的行列號是(1,1)} 48    Table1.FIEldByName('姓名').AsString:=Copy(Str,1,8); 49    Table1.FIEldByName('性別').AsString:=Copy(Str,9,2); 50    Table1.FIEldByName('年齡').AsString:=Copy(Str,13,2); 51    Table1.FIEldByName('省份').AsString:=Copy(Str,15,8); 52    Table1.Post;       //將數據過至frIEnds.db中 53    Read(TxtFile,Ch); //略過換行符 54    Str:='';          //清Str變量 55    end ; 56  end; 57  Button2.Enabled:=True; 58 end; 59 procedure TForm1.Button2Click(Sender: TObject); 60 var i:integer; 61     str:string; 62 begin 63  Memo1.clear; 64  for i:=0 to Table1.FIEldCount-1 Do 65    str:=str+Table1.Fields[i].FIEldName+'  '//讀取字段 66  Memo1.Lines.Add(str); 67  Memo1.Lines.Add(''); 68  str:=''; 69  {循環讀取表格中的內容} 70  Table1.First; 71  While not Table1.Eof Do 72   Begin 73   for i:=0  To Table1.FIEldCount-1 Do 74     str:=str+Table1.FIElds[i].AsString+'  ';  //讀取數據記錄 75   Memo1.Lines.Add(str); 76   Memo1.Lines.Add(''); 77   str:=''; 78   Table1.Next; 79   end; 80 end; 81 end.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved