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

當(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)下載排行

主站蜘蛛池模板: 亚洲国产欧美国产综合一区 | 国产精品久久久免费视频 | 亚洲国产夜色在线观看 | 日日插夜夜操 | 天天看天天射天天碰 | 夜夜爱夜夜爽夜夜做夜夜欢 | 偷偷鲁影院手机在线观看 | 国产精品永久免费视频 | 免费激情片 | 亚洲二三区 | 九九热精品免费视频 | 日韩精品中文字幕一区三区 | 欧美综合久久 | 久久66| 欧美激情视频一区二区三区 | 日本高清aⅴ毛片免费 | 欧美影视在线 | 欧美精品 在线播放 | 麻豆视传媒一区二区三区 | 久久毛片久久毛 | 国产成人青青热久免费精品 | 国产又色又爽又黄又刺激18 | 精品久久影院 | 国产最新地址 | 久久精品国产一区 | a级高清观看视频在线看 | 国产麻豆91在线 | 成人国产精品一区二区网站 | 欧美精品一区二区三区视频 | 狠狠干很很操 | 九九热在线免费视频 | 精品久久中文字幕 | 色综合网亚洲精品久久 | 国产一区二区三区四区五区 | 狠狠操美女 | 欧美日韩一区二区三区高清不卡 | 99爱在线观看精品视频 | 最新在线鲁丝片eeuss第1页 | 欧美视频在线观 | 国产片网址| 国产三级短视频 |