excel 导入access 提示: missing connection or connectionstring错误,但是我找不到原因是什么,如何解决!@!procedure TForm1.Button1Click(Sender: TObject);
var
OpenDialog:TOpenDialog;
iCount:integer;
begin
if application.MessageBox('导入前将删除原考生基本信息表', '警告! ',MB_OKCANCEL+MB_ICONQUESTION)=IDok then
try
OpenDialog:=TOpenDialog.Create(Self);
OpenDialog.DefaultExt := 'xls';
OpenDialog.Filter := 'Microsoft Excel 文件 (*.xls)|*.xls';
OpenDialog.Execute;
if OpenDialog.FileName<>'' then
try
Screen.Cursor:=crSqlWait;
ADOConExcel.Close;
ADOConExcel.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+OpenDialog.FileName+';Extended Properties=Excel 8.0;Persist Security Info=False';
ADOConExcel.Open; ADOQryExcel.Close;
ADOQryExcel.Sql.Clear;
ADOQryExcel.Sql.Add('SELECT 学校,考号,姓名,性别 FROM [Sheet1$]');
ADOQryExcel.Prepared:=true;
ADOQryExcel.Open; ADOConacc.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'\db\tybm.mdb;Persist Security Info=False';
ADOConacc.Connected:=true;
ADOConacc.Open;
ADOQryExcel.First;
while not ADOQryExcel.Eof do
begin
ADOacc.Close;
ADOacc.SQL.Clear;
ADOacc.Connection:=ADOConacc;
ADOacc.SQL.Add(' INSERT INTO ks VALUES('+''''+Trim(ADOQryExcel.FieldByName('考号').AsString)+''''+','+Trim(ADOQryExcel.FieldByName('学校').AsString)+','+Trim(ADOQryExcel.FieldByName('姓名').AsString)+','+Trim(ADOQryExcel.FieldByName('性别').AsString)+')');
ADOacc.ExecSQL ;
ADOacc.Close; ADOQryExcel.Next;
end;
showmessage('导入成功!');
except
showmessage('导入失败!');
end;
finally
ADOQryExcel.Close;
ADOConExcel.Close;
OpenDialog.Free;
Screen.Cursor:=crDefault; end;
end;end.
解决方案 »
- 从表A取一个字段存到表B里做为关键字,并在表B为这个新加的记录其他字段写数据。
- 怎么把图片变灰?
- 简单的问题:如何修改记录中某个字段的值?
- 用Delphi怎样实现调用Dao来创建数所库()
- 时间time如何转为汉字格式编码处理
- String和PChar之间怎么转换?
- 利用ado在客户端拿取sqlserver服务器数据的问题。
- StringGrid是内容如何作报表?
- 高价出售PB、DELPHI、VB程序
- 如何将控件Image显示在自定义的对象(Image1:TImage)的上方?
- 实现点击button1后,每隔10秒钟自动按键H,再点击button1,停止,不知道问题出在哪里
- 关于一个解压的问题
如果你要事先連接,為什么不要connection?
不过看样子应该是ADOConExcel.Open的时间不对,应该在给定sql语句后open
ADOConExcel.Close;
ADOConExcel.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+OpenDialog.FileName+';Extended Properties=Excel 8.0;Persist Security Info=False';
//ADOConExcel.Open; 把这句注释掉