建立一个与表结构相同的枚举型。读出的时候把每一条记录的字段赋给相应的类型 比如: type tpersonrec=packed record name:string[20]; id:string[8]; sex:string[1]; birthday:tdatetime; age:integer; end; 插入的时候利用insert再反过来就可以了。
自动导入?你要确定TXT文件的格式已定,而且通过程序控制!var Lists: TStrings; I: Integer; begin Lists:=TStringList.Create; Lists.LoadFromFile(文本文件); for I:=0 to LIsts.Count-1 do begin ADOquery.SQL.Clear; ADOQuery.SQL.Add('INSERT 表(FLD1,FLD2,...) VALUES('+QuotedStr(Copy(Lists.Strings[I],1,4))+','+QuotedStr(Copy(Lists.Strings[I],5,4))+')'); ADOQuery.ExecSQL; end; 循环写入,很快的......
var Lists: TStrings; I, C: Integer; begin Lists:=TStringList.Create; Lists.LoadFromFile(文本文件); for I:=0 to LIsts.Count-1 do begin ADOquery.SQL.Clear; C:=Pos(',',Lists.Strings[I]); //独取逗号的位置, 多个逗号你可以逆序控制 ADOQuery.SQL.Add('INSERT 表(FLD1,FLD2,...) VALUES('+QuotedStr(Copy(Lists.Strings[I],1,C-1))+','+QuotedStr(Copy(Lists.Strings[I],C,Length(Lists.Strings[I])-C))+')'); ADOQuery.ExecSQL; end; end;
var Filel:Tstrings; i:integer; sub1,sub2,sub:strings begin Filel:=Tstringlist.creat; Filel.loadFromFile('c:\data.txt'); Adoquery1.close; For i:=0 to Filel.count-1 do begin sub:=Filel.strings[i]; sub1:=copy(sub,1,pos(',',sub)-1); sub2:=copy(sub,post(',',sub)+1,length(sub)); Adoquery1.sql.clear; Adoquery1.sql.add('Insert table1(Filed1,Filed2,) Values(sub1,sub2'); Adoquery1.open; end; end;
type
tpersonrec=packed record
name:string[20];
id:string[8];
sex:string[1];
birthday:tdatetime;
age:integer;
end;
插入的时候利用insert再反过来就可以了。
Lists: TStrings;
I: Integer;
begin
Lists:=TStringList.Create;
Lists.LoadFromFile(文本文件);
for I:=0 to LIsts.Count-1 do
begin
ADOquery.SQL.Clear;
ADOQuery.SQL.Add('INSERT 表(FLD1,FLD2,...) VALUES('+QuotedStr(Copy(Lists.Strings[I],1,4))+','+QuotedStr(Copy(Lists.Strings[I],5,4))+')');
ADOQuery.ExecSQL;
end;
循环写入,很快的......
232,454
322,232
3,343
33,78
以逗号隔开,如何导入;
谢谢了,我是个初学者;
Lists: TStrings;
I, C: Integer;
begin
Lists:=TStringList.Create;
Lists.LoadFromFile(文本文件);
for I:=0 to LIsts.Count-1 do
begin
ADOquery.SQL.Clear;
C:=Pos(',',Lists.Strings[I]); //独取逗号的位置, 多个逗号你可以逆序控制
ADOQuery.SQL.Add('INSERT 表(FLD1,FLD2,...) VALUES('+QuotedStr(Copy(Lists.Strings[I],1,C-1))+','+QuotedStr(Copy(Lists.Strings[I],C,Length(Lists.Strings[I])-C))+')');
ADOQuery.ExecSQL;
end;
end;
Filel:Tstrings;
i:integer;
sub1,sub2,sub:strings
begin
Filel:=Tstringlist.creat;
Filel.loadFromFile('c:\data.txt');
Adoquery1.close;
For i:=0 to Filel.count-1 do
begin
sub:=Filel.strings[i];
sub1:=copy(sub,1,pos(',',sub)-1);
sub2:=copy(sub,post(',',sub)+1,length(sub));
Adoquery1.sql.clear;
Adoquery1.sql.add('Insert table1(Filed1,Filed2,) Values(sub1,sub2');
Adoquery1.open;
end;
end;