请问这个问题怎么解决?出现提示 list index out of bounds(1)

wwy 2005-08-19 10:03:26
有一个文本文件格式如下:

kid rq xsje xsjf ljjf
-------- -------- -------------- -------------- ------------------------ -
00000015 20050814 168.53 168.53 1415.53 /
00000015 20050814 68.47 68.47 1484.0 /
00000015 20050814 88.0 176.0 1660.0 /

文件数据有3万多行。

当数据少的时候读入没问题,但是当一次读入三万多行的时候。数据入库了。
但是最后出现了个提示信息,就是 list index out of bounds(1),请教各位怎么解决?

附代码:
function SplitString(Const SourceString : String; SplitChar : PChar) : TStringList;
var
tmpString : String;
i : integer;
begin
Result := TStringList.Create;
tmpString:=SourceString;
i := Pos(SplitChar,SourceString);
while i<>0 do
begin
Result.Add(Copy(tmpString,0,i-1));
Delete(tmpString,1,i);
i := Pos(SplitChar,tmpString);
end;
Result.Add(tmpString);
end;

procedure TfrmMain.btnOutputClick(Sender: TObject);
var
slSplit : TStringList;
i,j : Integer;
sMain,sSQL, vsql : String;
begin

if edit1.Text = '' then
begin
showmessage('请选择文件!');
exit;
end;
if radiobutton1.Checked then
begin
if Application.MessageBox(Pchar('原来的数据将被删除,确定要导入数据吗?') ,'提示',MB_YesNo) = IDYes then
begin
adqmain.Close ;
adqmain.SQL.Clear ;
adqmain.SQL.Add('delete from userscardmes ');
adqmain.Prepared ;
adqmain.ExecSQL ;
slSplit := TStringList.Create;
for i := 2 to slMain.Count - 1 do //从文档中读取
begin
sMain := slMain.Strings[i];
slSplit := SplitString(sMain,'/');
sSQL := 'INSERT INTO userscardmes (kid,rq,xsje,xsjf,ljjf) VALUES ('''
+ slSplit.Strings[0] + ''','''
+ slSplit.Strings[1] + ''','''
+ slSplit.Strings[2] + ''','''
+ slSplit.Strings[3] + ''','''
+ slSplit.Strings[4] + ''')';
with adqMain do
begin
Close;
SQL.Clear;
SQL.Add(sSQL);
Prepared;
ExecSQL;

end;

谢谢!


...全文
390 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
konhon 2005-08-19
  • 打赏
  • 举报
回复
SplitString這個函數已經創建了一個TStringList.
slSplit := TStringList.Create;//這句應該不需要啦.

每循環一次就會創建一個TStringList對象, 需要重構才行
for i := 2 to slMain.Count - 1 do //从文档中读取
konhon 2005-08-19
  • 打赏
  • 举报
回复
應該是這裡有問題
錯誤的意思是索引超出了范圍.
for i := 2 to slMain.Count - 1 do //从文档中读取

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧