大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 文本数据导入数据库的方法

文本数据导入数据库的方法

时间: 2021-07-31 作者:daque

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

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.