数据库是access,查询语句如下
select a.uid,a.name,b.uid,b.type from a left join b on a.uid=b.typeuid都是自动编号类型的时候, TADODataset的next就会出错,把其中一个b.uid改为数字类型则能够通过,请问什么原因,如何解决

解决方案 »

  1.   

    不会啊,
    我用oracle的,一直都没你说的情况啊,你是什么库啊!
      

  2.   

    TADODataset的next就会出错----报什么错误?
    access不熟,sql server常用这样的sql语句,没问题
      

  3.   

    delphi6+access2000,用vb进行的查询就没有问题
    连接串是:Provider=MSDASQL.1;Extended Properties="DBQ=question.mdb;DefaultDir=.;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"错误为:数据提供程序或其他服务返回E_FAIL
      

  4.   

    用as重命名字段名, a.uid as uida, b.udi as udib
      

  5.   

    sqlserver没问题
    报的什么错
      

  6.   

    错误为:数据提供程序或其他服务返回E_FAIL
      

  7.   

    晕了,把另一个uid转换为字串就可以,delphi6的ado怎么搞的
      

  8.   

    你可能作删除或插入操作吧。试试这样操作报不报错误:
    ADODataSet1.close;
    ADODataSet1.open;
    ADODataSet1.next;