快疯了,一个Excel导入的问题!(100分)

  • 主题发起人 主题发起人 boy_505
  • 开始时间 开始时间
if OpenDialog.Execute then
begin
dsExcel :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+OpenDialog.FileName+';Extended Properties=Excel 8.0;Persist Security Info=False'; //连接Excel数据库参数
with DM do
begin
qryExcel.Close;
qryExcel.ConnectionString :=dsExcel;
qryExcel.SQL.Clear;
qryExcel.SQL.Add('select * from [Sheet1$]');
qryExcel.Open;
qryExcel.First;
while ( not DM.qryExcel.Eof) do
begin
sSQL :='if not exists (select 字段1,字段2 from table(目的表) where 字段1='''+qryExcel.Fields[0].AsString+''' and 字段2= '''+qryExcel.Fields[1].AsString+''')' +
' insert into table(目的表)(字段1,字段2) values ( '''+qryExcel.Fields[0].AsString+''','''+qryExcel.Fields[1].AsString+''')';
qrySQL.Close;
qrySQL.SQL.Clear;
qrySQL.SQL.Add(sSQL);
qrySQL.ExecSQL;
inc(i); //循环次数
qryExcel.Next;
end;
end;
Application.MessageBox(PChar('已成功导入'+IntToStr(i)+'条资料记录'),'提示',64);
end;
//逐条往数据库里插,如果数据量太大的话这样就效率很差,建议用ExcelApplication或者第三方控件SMImport!
 
这年头,不好整啊。
 
后退
顶部