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

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

主站蜘蛛池模板: 狠狠色丁香婷婷综合久久来 | 免费aⅴ在线| 精品久久不卡 | 欧洲午夜视频 | 日韩视频一区二区三区 | 女bbbbxxxx毛片视频0 | 成人在线免费看 | 91精品国产品国语在线不卡 | 日韩欧美精品在线 | 91色视频在线| 欧美精品第1页www劲爆 | 久久精品综合 | 成人国产在线视频在线观看 | 欧美日韩中文在线 | 亚洲丁香婷婷综合久久小说 | 不卡视频一区二区三区 | 日韩欧美高清一区 | 免费aa毛片 | 日韩 欧美 中文字幕 不卡 | 亚洲国产精品专区 | 久久精品视频免费播放 | 欧美专区一区二区三区 | 久久综合婷婷香五月 | 久青草国产免费观看 | 欧美日韩一区二区三区高清不卡 | 精品国产一区二区三区www | 野外性xxxxfreexxxxx免费 | 国产不卡视频在线观看 | 97在线看 | 久久精品九九 | 97操碰| 四虎成人影视 | 国产日产高清欧美一区二区三区 | 天天躁日日躁狠狠躁中文字幕老牛 | 免费网站成人亚洲 | caoporn97人人做人人爱最新 | 好逼天天 | 亚洲日韩精品欧美一区二区 | 日韩色网站 | 一左一右含着她的乳奶揉搓揉捏 | 草草视频免费观看 |