ADOConnection1.Execute('SELECT * into ' + tablename+ ' FROM [excel 8.0;database=' + filename+ '].[' + sheetsname + ']');这段代码将指定excel文件中的指定工作簿导入到数据库中的指定表中,前提是这个表不存在。不知是不是符合。
function TForm1.ExcelToAccess; var StrSQL:string; filename:string; begin filename:=opendialog1.FileName; //打开目标Access数据库 adoconnection2.Close; adoconnection2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+opendialog2.FileName+';Persist Security Info=False'; //delete the table if it is exists StrSQL:='drop table Customer'; try adoconnection2.Connected:=false; adoconnection2.Execute(StrSQL); adoconnection2.Connected:=true; except end; StrSQL:='select * into Customer FROM [Excel 8.0;database='+filename+'].['Sheet1$]'; //这里的'Sheet1'是在Excel中的表名 try adoconnection2.Connected:=false; adoconnection2.Execute(StrSQL); adoconnection2.Connected:=true; adoconnection2.Connected:=false; messagebox(handle,'The table has been pumped successful!','information',mb_ok or mb_iconinformation); result:=true; except on e:exception do begin messagebox(handle,pchar(e.Message),'information',mb_ok or mb_iconerror); adoconnection2.Connected:=false; result:=false; end; end; end;
StrSQL:='select * into Customer FROM [Excel 8.0;database='+filename+'].[Sheet1$]'; 因为是手写出来的,上面的代码改成如上的,本来多了一个单引号
+ filename+ '].[' + sheetsname + ']');这段代码将指定excel文件中的指定工作簿导入到数据库中的指定表中,前提是这个表不存在。不知是不是符合。
var
StrSQL:string;
filename:string;
begin
filename:=opendialog1.FileName; //打开目标Access数据库 adoconnection2.Close;
adoconnection2.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+opendialog2.FileName+';Persist Security Info=False';
//delete the table if it is exists
StrSQL:='drop table Customer';
try
adoconnection2.Connected:=false;
adoconnection2.Execute(StrSQL);
adoconnection2.Connected:=true;
except
end;
StrSQL:='select * into Customer FROM [Excel 8.0;database='+filename+'].['Sheet1$]'; //这里的'Sheet1'是在Excel中的表名
try
adoconnection2.Connected:=false;
adoconnection2.Execute(StrSQL);
adoconnection2.Connected:=true;
adoconnection2.Connected:=false;
messagebox(handle,'The table has been pumped successful!','information',mb_ok or mb_iconinformation);
result:=true;
except
on e:exception do
begin
messagebox(handle,pchar(e.Message),'information',mb_ok or mb_iconerror);
adoconnection2.Connected:=false;
result:=false;
end;
end;
end;
因为是手写出来的,上面的代码改成如上的,本来多了一个单引号