如何将下列文本文件中会计科目:0002的"客户名称","贷款帐号","合同号"数据读入数据库,字段名分别为khzh,dkzh,hth? 会计科目: 0001
===================================================================
客户名称 贷款帐号 合同号
-------------------------------------------------------------------
华小二 103035500100000079 019905500001600
何瑟 103035500100000078 019905500000500
...................
曹夹英 103035500100000176 019905500000900
-------------------------------------------------------------------
本页笔数: 45 本页金额: 2,950,033.15
-------------------------------------------------------------------
会计科目: 0002
===================================================================
客户名称 贷款帐号 合同号
-------------------------------------------------------------------
贺晓 103035500100000021 019905500001901
倪任尧 103035500100000004 019905500000101
..................
郑何方 103035500100000068 019905500000201
-------------------------------------------------------------------
本页笔数: 38 本页金额: 22,504,728.81
-------------------------------------------------------------------
会计科目: 0002
===================================================================
客户名称 贷款帐号 合同号
-------------------------------------------------------------------
李茜 103035500100000123 019905500001100
...................
万森林 103035500100000254 019905500001200
林国美 103035500100000085 019905500001300
-------------------------------------------------------------------
本页笔数: 27 本页金额: 22,504,728.81
-------------------------------------------------------------------
会计科目: 0003
===================================================================
客户名称 贷款帐号 合同号
-------------------------------------------------------------------
张望人 103035500100000023 019905500002800
何其一 103035500100000034 019905500004500
...................
赵达标 103035500100000045 019905500003500
-------------------------------------------------------------------
本页笔数: 46 本页金额: 22,504,728.81
-------------------------------------------------------------------
===================================================================
客户名称 贷款帐号 合同号
-------------------------------------------------------------------
华小二 103035500100000079 019905500001600
何瑟 103035500100000078 019905500000500
...................
曹夹英 103035500100000176 019905500000900
-------------------------------------------------------------------
本页笔数: 45 本页金额: 2,950,033.15
-------------------------------------------------------------------
会计科目: 0002
===================================================================
客户名称 贷款帐号 合同号
-------------------------------------------------------------------
贺晓 103035500100000021 019905500001901
倪任尧 103035500100000004 019905500000101
..................
郑何方 103035500100000068 019905500000201
-------------------------------------------------------------------
本页笔数: 38 本页金额: 22,504,728.81
-------------------------------------------------------------------
会计科目: 0002
===================================================================
客户名称 贷款帐号 合同号
-------------------------------------------------------------------
李茜 103035500100000123 019905500001100
...................
万森林 103035500100000254 019905500001200
林国美 103035500100000085 019905500001300
-------------------------------------------------------------------
本页笔数: 27 本页金额: 22,504,728.81
-------------------------------------------------------------------
会计科目: 0003
===================================================================
客户名称 贷款帐号 合同号
-------------------------------------------------------------------
张望人 103035500100000023 019905500002800
何其一 103035500100000034 019905500004500
...................
赵达标 103035500100000045 019905500003500
-------------------------------------------------------------------
本页笔数: 46 本页金额: 22,504,728.81
-------------------------------------------------------------------
到http://www.codelphi.com技术囊中去找吧,并且带例子的。或则自己写函数也可以
procedure TcResponsor.ShangchTHSQJB;
var
adoq:TADOQuery;
fFile: textfile;
sStr, sTablename, sFilename, sParentFilename, sSql: String;
tMem: TMemoryStream;
t: Tlist;
p: PTableHandle;
i: Integer;
fields: TStringList;
begin
//解包
t := Tlist.Create;//存.TXT文件名(即表名)的
sParentFilename := ExtractFileName(FRequest^.Filename);
sParentFilename := Copy(sParentFilename, 1, Pos(ExtractFileExt(sParentFilename), sParentFilename) - 1);
AssignFile(fFile, FRequest^.Filename);
Reset(fFile);
While Not Eof(fFile) do
begin
Readln(fFile, sStr);
sStr := Trim(sStr);
if sStr = '' then
Continue;
if Copy(sStr, 1, 3) = '---' then
begin
//开始一个表
sTablename := Copy(sStr, 4, Length(sStr) - 6);
sFilename := getAppPath + C_TmpFileDir + '\' +
sParentFilename + '.' + sTablename +
C_ComTempFileExtName;
New(p);
With p^ do
begin
Tablename := sTablename;
Filename := sFilename;
end;
t.Add(p);
tMem := TMemoryStream.Create;
repeat
Readln(fFile, sStr);
sStr := Trim(sStr);
if sStr = '' then
Continue;
if Copy(sStr, 1, 3) = '!!!' then
else begin
//读取记录
WritelnToMem(tMem, sStr);
end;
until Eof(fFile) or (Copy(sStr, 1, 3) = '!!!');
tMem.SaveToFile(sFilename);
tMem.Free;
end;
end;
CloseFile(fFile);
//写数据库
adoq := TADOQuery.Create(Nil);
adoq.Connection := Form_dm.g_adocn_gongyzh;
for i := 0 to t.Count - 1 do
begin
AssignFile(fFile, PTableHandle(t.Items[i])^.Filename);
reset(fFile);
while Not Eof(fFile) do
begin
readln(fFile, sStr);
fields := AnalyseFields(sStr);//存读出的某一字段值
if PTableHandle(t.Items[i])^.Tablename = 't_shenqth' then
begin
{sSql := 'update t_tuihdzb '+
' set s_sqdwdm='''+fields.Strings[1]+''','+
' d_sqrq='''+fields.Strings[2]+''','+
' b_bs='+'0'+','+
' s_fhckdm='''+fields.Strings[4]+''','+
' s_dbdh='''+fields.Strings[5]+''','+
' b_thyy='+fields.Strings[6]+''+
' where s_sqdh='''+fields.Strings[0]+''''; }
sSql := 'insert t_tuihdzb(s_thdh,s_sqdwdm,d_sqrq,i_bs,s_fhckdm,s_dbdh,m_thyy)'+
' values('+
' '''+fields.Strings[0]+''','+
' '''+fields.Strings[1]+''','+
' '''+fields.Strings[2]+''','+
' ''0'','+
' '''+fields.Strings[4]+''','+
' '''+fields.Strings[5]+''','+
' '''+fields.Strings[6]+''')'; end;
if PTableHandle(t.Items[i])^.Tablename = 't_shenqthmx' then
begin
{ sSql := ' update t_tuihmx '+
' set f_ths='+fields.Strings[2]+','+
' c_danj='+fields.Strings[3]+''+
' where s_sqdh='''+fields.Strings[0]+''''+'and'+
' s_qcbm='''+fields.Strings[1]+''''; }
sSql := ' insert t_tuihmx(s_thdh,s_qcbm,f_ths,c_dj)'+
' values('+
' '''+fields.Strings[0]+''','+
' '''+fields.Strings[1]+''','+
' '''+fields.Strings[2]+''','+
' '+fields.Strings[3]+')';
end;
try
ExecQuery(adoq, sSql);
except
Continue;
end;
end;
CloseFile(fFile);
DeleteFile(PChar(PTableHandle(t.Items[i])^.Filename));
end;