程序使用是win98+ado+access2000,在学校的机器上已经安装了access2000,delphi 5。刚开始我也怀疑是ado被破坏了,但后来发现不是。在家里能运行成功,所以我觉的代码也应该没有问题。
出错的sql语句是select * from T1990 union select * from T1991 ...挺长的。

解决方案 »

  1.   

    就是没有一个有效的alias name。你可以在ADO的alias name设置。因为你在学校和家里的数据库环境不一样!要重新设置alias name!
      

  2.   

    你是不是用ADOConnection进行数据库连接的?可能要重新进行连接在编译!我想这样应该可以!上面我说错了!
      

  3.   

    我现在连接数据库用的就是是adoconnection控件,用的是在程序运行过程中设置connectionstring的方法
      

  4.   

    用Microsoft Jet 4.5(or 3.51) OLE DB Provider 作为“提供者”直接连接到你的 *.mdb数据库不就得了。
      

  5.   

    ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'Data\data.mdb;Persist Security Info=False';
      

  6.   

    h_huajun(阿华) 
    同意,我一直都是这么连接的,没有什么问题
      

  7.   

    就是可以和数据库连上都没有问题,就是一查询就出现那个"not a valid alias name" 错误
      

  8.   

    这是因为你学校的机器上没有安装BDE,或者在BDE中没有添加相应数据库的信息!
    解决:首先保证学校的机器上装上了BDE(Borland Data Engine),并且在BDE Adiminstrator中添加了你的程序所需要的数据库的名称!
      

  9.   

    我用的是ado,用connectionstring的方法连接的数据库,和bde有关系吗?
      

  10.   

    我使用了union进行查询,一共有24个表,好象是表太多的缘故,我减少了2个union查询,就成功了。
    有这种可能 吗?
      

  11.   

    应该用CONNETIOSTRING进行动态连接