我在用ADO控件连接ORACLE数据库的时候,当把ADOTABLE的ACTIVE属性设置为TRUE的时候,运行时出现错误。
错误如下:Invalid variant type conversion
请问是什么原因?应该怎么解决?

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    var path :string;
    begin
      path:=ExtractFilePath(Application.ExeName);
      ADOConnection1.ConnectionString:='DBQ='+path+'db1.MDB;DefaultDir='+path+';Driver={Microsoft Access Driver (*.mdb)};DriverId=281;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;password=21233382135761;UserCommitSync=Yes';
      ADOConnection1.Connected:=true;
      ADODataSet1.CommandText:='SELECT id as 序号, 自有或合同, 维修企业名称, 类别, 合同起讫年限, 合同号, 设备台数, 年维修量, 固定资产 FROM 维修企业档案';
      ADODataSet1.Open;
    end;
      

  2.   

    procedure Tmyserver.OpenDate;
    begin
            ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+s_strSystemPath+'database\医教素材库.mdb;Persist Security Info=False';
            ADOConnection1.Connected:=true;
            datamodule6.ADOTable1.Connection:=adoconnection1;
            datamodule6.ADOTable1.Tablename:='商品代码';
            DataModule6.ADOTable1.Active:=true;
    end;
      

  3.   

    当连接oracle数据库时,最好别用Ado,会很不稳定的,最好用DbExpress,在李维的那本delphi数据库书上有说明。
      

  4.   

    哪都说ADO连ORACLE不好,不过我没用过ORACLE,可SQL SERVER最早也一直就是挖ORACLE的工程师来做的啊。真搞不懂!
    我非常相信广大革命同志的经验之谈,最好不用,换个方式吧。