日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

文本數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫的辦法

文本數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫的辦法

更新時(shí)間:2022-05-13 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

有一段人事檔案資料archive.txt,內(nèi)容如下:
  小許男21工程師
  小吳女23助理工程師
  小蔡男22助理工程師
  小牟女22工程師

  要將它轉(zhuǎn)入數(shù)據(jù)庫archive.dbf中,archive.dbf結(jié)構(gòu)如下:
  姓名,性別,年齡,職稱

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

  利用Delphi提供的已有函數(shù)和過程基礎(chǔ)上編制自己的三個(gè)函數(shù),實(shí)現(xiàn)了純文本格式資料轉(zhuǎn)入數(shù)據(jù)庫功能。只要Delphi支持的數(shù)據(jù)庫都可以支持。

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

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

  Function RegulateStr(aString:String;Sepchar:String):String;  
  var
    i,Num:Integer;
    Flag:Boolean;
    MyStr,TempStr:String;
  begin
    Flag:=False;//進(jìn)行標(biāo)志,去除多余的分割符
    Num:=Length(aString);//計(jì)算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);//計(jì)算分割符在子串中的位置
    MyStr:=Copy(aString,1,SepCharPos-1); //將分割符前所有字符放到mystr串中
    Delete(aString,1,SepCharPos);//除去分割符和分割符前的子串
    GetSubStr:=MyStr;//返回一個(gè)字段
  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;

  有了上面三個(gè)函數(shù),現(xiàn)在介紹一下具體的應(yīng)用:
  1.首先建立一個(gè)窗體Forml,加入一個(gè)RichEditl(或Menol),一個(gè)按鈕Buttonl和一個(gè)Tablel,設(shè)置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; 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 亚洲一区日韩 | 天天做夜夜做 | 久久久久久国产视频 | 国产精品视频一区二区猎奇 | www.国产福利| 国产三级日本三级韩国三级在线观看 | 久久综合网址 | 91精品91| 成人欧美一区在线视频在线观看 | 午夜第九理论达达兔dy888流 | 久久精品视频在线 | 日本一本一道久久香蕉免费 | 欧美一级看片a免费视频 | 日韩大片在线播放 | 国产欧美日韩精品a在线观看高清 | 久久日本精品国产精品白 | 久热青草 | 国产片免费在线观看 | 日本一级毛片冲田杏梨 | 亚洲欧美日韩国产精品 | 91欧美精品综合在线观看 | 久久久久久久免费 | 国产最新地址 | 日日夜夜精品免费视频 | 国产青草视频免费观看97 | 夜夜添夜夜添夜夜摸夜夜摸 | 成人在线观看国产 | 七次郎在线观看视频国产 | 538精品在线观看 | 久久涩精品 | 国产精品久久久久999 | 亚洲国产日韩在线一区 | 日一级片 | 欧美日本高清动作片www网站 | 丁香婷婷六月天 | 激情在线观看视频免费的 | 亚洲欧美在线观看 | 日本一区二区三区免费在线观看 | 欧美一欧美一区二三区性 | 国产日韩精品一区二区 | 国产成人欧美视频在线 |