把excel表中的数据导入数据库,出现无效索引字样。是什么原因?procedure TFrm_Fengmian.SpeedButton3Click(Sender: TObject);
var i,j:integer;
str,Sqlstr,Datestr:string;
year,month,day:word;
begin
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1与Excelworkbook1建立连接 //decodedate(DateTimePicker3.DateTime,year,month,day);
//Datestr:=inttostr(year)+'-'+inttostr(month);
while ADOQuery1.RecordCount<>0 do
begin
ADOQuery1.First;
ADOQuery1.Delete;
end;
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear; Sqlstr:='Select * from shujubiao';
ADOQuery1.SQL.Add(Sqlstr);
ADOQuery1.Active:=true;
i:=2;
while trim(excelworksheet1.cells.item[i,1])<>'' do
begin
ADOQuery1.Insert;
//decodedate(DateTimePicker3.DateTime,year,month,day);
//Datestr:=inttostr(year)+'-'+inttostr(month);
ADOQuery1.fieldbyname('名称').AsString:=ExcelWorksheet1.Cells.Item[i,1];
ADOQuery1.fieldbyname('型号').AsString:=ExcelWorksheet1.Cells.Item[i,2];
ADOQuery1.fieldbyname('产品编号').AsString:=ExcelWorksheet1.Cells.Item[i,3];
ADOQuery1.fieldbyname('合格证号').AsString:=ExcelWorksheet1.Cells.Item[i,4];
ADOQuery1.fieldbyname('设备编码').AsString:=ExcelWorksheet1.Cells.Item[i,5];
ADOQuery1.fieldbyname('安装地点').AsString:=ExcelWorksheet1.Cells.Item[i,6];
ADOQuery1.fieldbyname('安装单位').AsString:=ExcelWorksheet1.Cells.Item[i,7];
ADOQuery1.fieldbyname('安装日期').AsDateTime:=strtodate(ExcelWorksheet1.Cells.Item[i,8]);
ADOQuery1.fieldbyname('投产日期').AsDateTime:=strtodate(ExcelWorksheet1.Cells.Item[i,9]);
ADOQuery1.fieldbyname('企业名称').AsString:=ExcelWorksheet1.Cells.Item[i,10]; ADOQuery1.Post;
i:=i+1;
end;
showmessage('数据入库成功!');
var i,j:integer;
str,Sqlstr,Datestr:string;
year,month,day:word;
begin
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1与Excelworkbook1建立连接 //decodedate(DateTimePicker3.DateTime,year,month,day);
//Datestr:=inttostr(year)+'-'+inttostr(month);
while ADOQuery1.RecordCount<>0 do
begin
ADOQuery1.First;
ADOQuery1.Delete;
end;
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear; Sqlstr:='Select * from shujubiao';
ADOQuery1.SQL.Add(Sqlstr);
ADOQuery1.Active:=true;
i:=2;
while trim(excelworksheet1.cells.item[i,1])<>'' do
begin
ADOQuery1.Insert;
//decodedate(DateTimePicker3.DateTime,year,month,day);
//Datestr:=inttostr(year)+'-'+inttostr(month);
ADOQuery1.fieldbyname('名称').AsString:=ExcelWorksheet1.Cells.Item[i,1];
ADOQuery1.fieldbyname('型号').AsString:=ExcelWorksheet1.Cells.Item[i,2];
ADOQuery1.fieldbyname('产品编号').AsString:=ExcelWorksheet1.Cells.Item[i,3];
ADOQuery1.fieldbyname('合格证号').AsString:=ExcelWorksheet1.Cells.Item[i,4];
ADOQuery1.fieldbyname('设备编码').AsString:=ExcelWorksheet1.Cells.Item[i,5];
ADOQuery1.fieldbyname('安装地点').AsString:=ExcelWorksheet1.Cells.Item[i,6];
ADOQuery1.fieldbyname('安装单位').AsString:=ExcelWorksheet1.Cells.Item[i,7];
ADOQuery1.fieldbyname('安装日期').AsDateTime:=strtodate(ExcelWorksheet1.Cells.Item[i,8]);
ADOQuery1.fieldbyname('投产日期').AsDateTime:=strtodate(ExcelWorksheet1.Cells.Item[i,9]);
ADOQuery1.fieldbyname('企业名称').AsString:=ExcelWorksheet1.Cells.Item[i,10]; ADOQuery1.Post;
i:=i+1;
end;
showmessage('数据入库成功!');
解决方案 »
- 类型定义问题,极基础!!
- 在数据模块(DataModule)中定义全局变量为什么老是出错??
- 求救《DELPHI 6 从入门到精通》谁有!!
- 用动态数组记录memo的值
- 有了一颗星星,散点分!
- 用VB写的OCX如何在DELPHI中调用?
- 用Delphi6自带的InstallShield做安装程序,如何把程序的路径保存到注册表中?
- 强烈要求斑竹开一个delphi开发web专栏
- 高手指教,delphi中怎么引用api函数terminateprocess?
- 小东西照样有50分。怎样取extended的整数部分?转换成integer?这是怎么啦, 系统老是将我的问题转换成别人的问题
- 帮忙找一下错误,有分数的!
- 求助:integer overflow?是怎么回事,谢谢!
检查被导入数据