DBGRID读取EXCEL 后刷新的问题,麻烦看看。。谢谢
实现读取EXCEL的代码:
procedure Tform_getinfo.Button2Click(Sender: TObject);
var
a_cc: TStrings;
ExcelApp: Variant;
begin
if OpenDialog2.Execute then
begin
edit5.Text:=OpenDialog2.FileName;
//Fmdir.FileListBox1.FileName;
{打开保存一次EXCEL文件,为何要保存一次呢?如果是其它程序用第三方控件导出的EXCEL文件,最好做此步,否则容发生错误}
ExcelApp := CreateOleObject( 'Excel.Application' );
ExcelApp.WorkBooks.Open(OpenDialog2.FileName);
ExcelApp.ActiveWorkBook.Save;
ExcelApp.Quit;
varclear(ExcelApp);
a_cc :=TStringList.Create;
{ADOConn是数据库连接控件ADOConnection}
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + OpenDialog2.FileName + ';Extended Properties=excel 8.0;Persist Security Info=false';
ADOConnection1.Connected := True;
ADOConnection1.GetTableNames(a_cc);{将EXCEL文件中的表格名单赋值于a_cc变量}
with adoquery1 do
begin
Close;
sql.text:='select 记录序号,寄达局邮编,收件人姓名,收件人地址 from ['+a_cc[0]+']';//得到EXCEL文件中的第一个表格的数据
open;
end;
DBGrid1.Columns[0].Width:=80;
DBGrid1.Columns[1].Width:=80;
DBGrid1.Columns[2].Width:=80;
DBGrid1.Columns[3].Width:=200;
end;
GroupBox1.Visible:=false;
end;
===========================请问我要实现刷新数据应该如何实现。。。
ADOQuery1.Refresh; 提示错误报告:“缺少刷新或更新的键列信息”
在线等,谢谢啦。。。