使用DataSource、DBGrid、ADOQuery组件,目前可以实现将数据从Excel表中放到DBGrid中,但是却写不到SQL Server 2000数据库已建好的表中,而且没有错误提示信息。请问各位高手,这是什么原因。谢谢。
程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var
sqlstr,connstr,sheetName,filename:string;
begin
FileName :='e:\Book1.xls' ;//Excel文件名
SheetName :='sheet1' ; //Excel中数据表名
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ConnStr :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + FileName + ';Extended Properties=Excel 8.0;Persist Security Info=False';
ADOQuery1.ConnectionString :=ConnStr ;
SqlStr :='Select * from ' +'[' +SheetName + '$'+']'; //打開表
ADOQuery1.SQL.Add(SqlStr) ;
ADOQuery1.ExecSQL;
ADOQuery1.Open ;
end;
程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var
sqlstr,connstr,sheetName,filename:string;
begin
FileName :='e:\Book1.xls' ;//Excel文件名
SheetName :='sheet1' ; //Excel中数据表名
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ConnStr :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + FileName + ';Extended Properties=Excel 8.0;Persist Security Info=False';
ADOQuery1.ConnectionString :=ConnStr ;
SqlStr :='Select * from ' +'[' +SheetName + '$'+']'; //打開表
ADOQuery1.SQL.Add(SqlStr) ;
ADOQuery1.ExecSQL;
ADOQuery1.Open ;
end;
还有呀为什么执行两次查询 ADOQuery1.ExecSQL;
ADOQuery1.Open ;