六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

文本數據導入數據庫的方法

[摘要]有一段人事檔案資料archive.txt,內容如下:   小許男21工程師   小吳女23助理工程師   小蔡男22助理工程師   小牟女22工程師   要將它轉入數據庫archive.dbf中,a...
有一段人事檔案資料archive.txt,內容如下:
  小許男21工程師
  小吳女23助理工程師
  小蔡男22助理工程師
  小牟女22工程師

  要將它轉入數據庫archive.dbf中,archive.dbf結構如下:
  姓名,性別,年齡,職稱

  怎么辦呢?現在通過使用delphi編程,很好地解決了這個難題。Delphi提供了許多功能強大,豐富的字符處理函數和過程,常用的有:
  (1)function Length(S:String):Integer//返回串的長度
  (2)function Copy(S:String;Index,Count:Integer):String//給出一個字符串中串的拷貝
  (3)function Pos(Substr:String;S:String);Integer//查找子串在字符串中的位置
  (4)Procedure Delete(VarS:String;Index,Count:Integer);  //從一個字符串中去除子串

  利用Delphi提供的已有函數和過程基礎上編制自己的三個函數,實現了純文本格式資料轉入數據庫功能。只要Delphi支持的數據庫都可以支持。

  archive.txt中每行數據為一個字符串,字符串中每個被分割的數據為一個字段,分割每個字段的字符為分割符,這里是空格,也可以是,、;、#等符號。具體思想是:先將字符串進行調整,然后把串中每個字符同分割符比較,將不是分割符的字符追加到MyStr串中,最后得到一個字段的內容。通過一個循環,就可以將一個字符串分成幾個字段。

  Function Regulate(aString,Sepchar:string):string   //去掉多余的分割符,規范字符串
  Function GetSubStr(varsString:string;SepChar:String):String;  //得到字符串中一個子串,因要改變參數aString的值,所以將它用var定義。
  FunctionGetSubStrNum(aString,SepChar:String):Integer;  //計算一個字符串要被分割成幾個字段。
  參數:aString是所需分割的一個字符串,SepChar是分割符。

  Function RegulateStr(aString:String;Sepchar:String):String;  
  var
    i,Num:Integer;
    Flag:Boolean;
    MyStr,TempStr:String;
  begin
    Flag:=False;//進行標志,去除多余的分割符
    Num:=Length(aString);//計算aString串的長度
    for i:=1 to Num do
    begin
      TempStr:=Copy(aString,i,1);//取aString串中的一字符
      if TempStr <> SepChar then
      begin
        MyStr:=MyStr+TempStr;
        Flag:=True;
      end
      else
        if(Flag = True)then
        begin
          Mystr:=Mystr+TempSrt;
          Flag:=False;
        end;
    end;
    if  MyStr[Length(MyStr)] <> SepChar then
     MyStr:=MyStr+SepChar;
    RegulateSrt:=MyStr;
  end;

  Function GetSubStr(var aString:String,SepChar:Strign):String;
  var
    Mysrt:String;
    StrLen:Integer;
    SepCharPso:Integer;
  begin
    StrLen:=Length(aString);
    SepCharPos:=Pos(SepChar,aString);//計算分割符在子串中的位置
    MyStr:=Copy(aString,1,SepCharPos-1); //將分割符前所有字符放到mystr串中
    Delete(aString,1,SepCharPos);//除去分割符和分割符前的子串
    GetSubStr:=MyStr;//返回一個字段
  end;

  FunctionTforml.GetSubStrNum(aString:String;SepChar:String):Integer;
  var
    i:Integer;
    StrLen:Integer;
     Num:Integer;
  begin
    StrLen:=Length(aString);
    Num:=0;
    for i:=1 to StrLen do
      if Copy(aString,i,1) = SepCharthen
        Num:=Num+1;
    GetSubSrtNum:=Num;
  end;

  有了上面三個函數,現在介紹一下具體的應用:
  1.首先建立一個窗體Forml,加入一個RichEditl(或Menol),一個按鈕Buttonl和一個Tablel,設置Tablel的屬性:
  Tablell.DataBase = 'c:\Archivs'
  Tablell.TableName ='Archive.dbf'

  2.分別加入以下程序:
  Const Space= ''
  ProcedureTForml.FormCreate(Sender:Tobject);
  begin
    RichRditl.Lines.LoadFromFile('Archive.txt');
  end;

  ProcedureTForml.Button1Click(Sender:Tobject);
  var
    i,j:Integer;
     MyLine:String;
  begin
    with Tablel do
    begin
       Open;
        for i:=0 to RichEditl.Lines.Count-1 do
        begin
        MyLine:=RegulateStr(Richeditl.Lines[i],Space);
        for j:=1 to Num do  
        begin
          Append;
          fileds[j-1].aString:=GetSubSrt(MyLine,Space));
          post;
        end;
      end;
    end;
  end; 


主站蜘蛛池模板: 色天使久久综合网天天 | 天天爱天天色 | 亚洲欧美在线精品 | 色偷偷亚洲男人天堂 | 午夜网站免费版在线观看 | 性做久久久久久久免费看 | 欧美综合图区亚欧综合图区 | 人人狠狠综合88综合久久 | 午夜视频在线观看www中文 | 中日韩欧美在线观看 | 亚洲精品综合在线 | 欧美性开放视频 | 一二三四视频免费观看影视 | 午夜小视频在线播放 | 亚洲成a人v欧美综合天堂麻豆 | 日本在线视频免费看 | 色国产精品一区在线观看 | 四虎国产永久免费久久 | 色综合久久综精品 | 日韩黄色一级片 | 欧美又硬又粗又长又大 | 天天摸日日摸人人看 | 亚洲男人的天堂在线播放 | 日韩中文字幕在线亚洲一区 | 亚洲最色| 亚洲欧洲精品国产二码 | 午夜影视网站 | 青青草原在线免费观看视频 | 一本一道波多野结衣一区二区 | 午夜色影院 | 视频一区二区在线观看 | 最新中文字幕免费视频 | 在线免费视频你懂的 | 日本亚洲国产 | 亚洲国产精品久久久久666 | 又粗又硬又大又爽免费视频播放 | 日本午夜免费福利视频 | 婷婷在线视频观看 | 亚洲影视在线观看 | 婷婷综合缴情亚洲五月伊 | 午夜剧场黄 |