delphi用多线程把文本文件导入到数据库中? ( 积分: 50 )

  • 主题发起人 主题发起人 abiao503
  • 开始时间 开始时间
A

abiao503

Unregistered / Unconfirmed
GUEST, unregistred user!
0.0.0.0 0.255.255.255 IANA CZ88.NET
3.0.0.0 3.255.255.255 美国 新泽西通用电气公司
210.161.215.80 210.161.215.95 日本 Kawamura College
210.166.2.0 210.166.2.255 天津市 网通ADSL
210.166.36.48 210.166.36.63 日本 Hiroshima Bunkyo Women`s University
4.37.216.0 4.37.219.255 美国 德克萨斯女子大学
202.99.175.0 202.99.175.55 河北省廊坊市 网通
202.99.176.0 202.99.176.255 河北省沧州市 网通
202.99.192.0 202.99.194.88 山西省太原市 网通
218.9.44.253 218.9.44.253 黑龙江哈尔滨市 横道街昌盛网吧(香坊公园侧)
218.9.44.254 218.9.44.255 黑龙江哈尔滨市 网通
222.245.129.244 222.245.129.244 湖南省张家界市慈利县 金阳光网吧
222.245.192.0 222.245.198.126 湖南省怀化市 电信ADSL
文本如上:求写出用多线程把文本文件导入数据库中的代码。备注:
我用的是SQL数据库,ADOQuery和ADOConnection、ADOQuery 文本文件空格不止一个且不规律!
 
不好意思,不该灌水。
提点看法:
1 从该文件生成一个新的文件,使得该新文件格式有规律,比如以空格或'|'等间隔每个字段
2 从该新文件导出到数据库
EXEC master..xp_cmdshell 'bcp lisongmagic.dbo.TableFromText in c:/temp.txt -c -t" " -U"" -P""'
我试了一下,数据均正确的导入到了数据库
 
说实在的,真的是难
倒是建议,采用文件导入到表的一个字段中,这样倒是可以。
 
从该文件生成一个新的文件
方法应该很多,比如说吧
var
Filel:Tstrings;
i:integer;
temp,sub:string;
begin
Filel:=Tstringlist.creat;
Filel.loadFromFile('c:/data.txt');
sub:=Filel.strings;
temp:=copy(sub,1,pos(' ',sub)-1); //找空格
..... //继续找空格,把多个空格都并成一个空格,
// 除了最后一列Kawamura College等中间的空格
注意目的: ★最终使文件变成一个以一个空格为分割符的有规律的文件★,
然后用我上面那个bcp 命令。
 
后退
顶部