• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

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

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

        更新時間:2022-05-13 文章作者:未知 信息來源:網絡 閱讀次數:

        有一段人事檔案資料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; 

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

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: APP在线免费观看视频| 美国免费高清一级毛片| 秋霞人成在线观看免费视频| 久久乐国产精品亚洲综合| 免费无码国产在线观国内自拍中文字幕 | 久久精品国产亚洲av高清漫画| 最近中文字幕免费大全| 亚洲人成网77777色在线播放| aa午夜免费剧场| 亚洲精品国产精品乱码视色| 91精品全国免费观看青青| 亚洲AV综合色区无码一区爱AV | 日本黄网站动漫视频免费| 78成人精品电影在线播放日韩精品电影一区亚洲 | 黄页网站在线视频免费| 亚洲男人在线无码视频| 精品免费tv久久久久久久| 亚洲欧洲日韩不卡| av无码久久久久不卡免费网站| 7777久久亚洲中文字幕| 国产精品va无码免费麻豆| 无遮挡免费一区二区三区| 久久九九亚洲精品| 久草视频免费在线| 久久亚洲欧美国产精品| 亚洲色大成网站www永久一区 | 3d成人免费动漫在线观看| 国产成人精品日本亚洲专| 国产三级免费电影| 人妻在线日韩免费视频| 亚洲av无码电影网| 国产成人亚洲综合| 五月亭亭免费高清在线| 国产亚洲午夜精品| 亚洲一区中文字幕久久| 成人毛片免费观看视频| a级毛片在线免费看| 亚洲午夜无码久久久久软件| 亚洲夜夜欢A∨一区二区三区| 青青视频观看免费99| 国产麻豆成人传媒免费观看|