我利用ADOConnect 连接了odbc数据源excel文件
用adoquery1  select * from [sheet1$] 连接上了数据
并且通过dbgrid得到了需要查询的数据可是我在dbgrid 中修改数据,delphi提示[odbc excel driver]需要配置一个可更新的sql查询我尝试用 form1.ADOQuery1.Insert;
         form1.ADOQuery1.Edit;
         form1.ADOQuery1.FieldByName('姓名').ASstring:='23';
         adoquery1.Post;
  也同样得到了相同的出错提示,这个excel+ado的读写操作来写啊,大家快来帮忙啊!

解决方案 »

  1.   

    没用ODBC连过,你用OLEDB方法试一下:
    acStore: TADOConnection;
    aqStore: TADOQuery;
    ...
    begin
      acStore.Connected := false;
      acStore.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ ExtractFilePath(Application.ExeName) +'store.xls;Extended Properties=''Excel 8.0''';
      acStore.Connected := true;
      aqStore.Close;
      aqStore.SQL.Clear;
      aqStore.SQL.Text := 'select * from [sheet1$]'; 
      aqStore.Open;
      ...
    end;
      

  2.   

    我也没有用过ODBC连过,不过有本书上介绍了3种方法连接EXCEL,叫DELPHI INFORMATION          上面说加个ADOCOMMAND控件,在里面用命令来对EXCEL操作,不过我推荐你用DELPHI中自带的控件,它的功能很强大,而且用ADO的话不能删除EXCEL中的记录,只能修改而已