大家好!
  我是一个新手.我现在用delphi 写了一段程序, 用到adoquery控接.连接test.db的数据库,在自已电脑上运行可以.但拿到另的机械上运行不了.请各位大侠指教一下.急啊.!!!!

解决方案 »

  1.   

    数据库的原因,db数据库好像是delphi自带的吧,需要打包odbc的好像如果是单机运行,建议用access,不用考虑打包的问题
      

  2.   

    <<哈哈,当年初学的时候也犯过此错误 >> 这位仁兄.留个QQ号好吗?
      

  3.   

    vg_path:=  ExtractFilePath(Application.ExeName);
    这个就是你可执行文件所在的路径
      

  4.   

    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from tempdata2.db');
    adoquery1.Open;
    adoquery1.Active:=true;在这儿加吗?还是在好儿加啊.
      

  5.   

    你这是用什么方式连接?BDE?
      

  6.   

    用adoquery1 的connectstring 去连接一个数据库,名字叫tempdata2.db
    测试接连成功.在自已电脑上运行也行.在另的电脑不行
      

  7.   

    把你的connectionstring字符串贴出来看看,估计里面是将数据库路径写成绝对路径了
      

  8.   

    DSN=test2;DBQ=E:\TEMP\AA;DefaultDir=E:\TEMP\AA;DriverId=538;FIL=Paradox 5.X;MaxBufferSize=2048;PageTimeout=5;我的数据文件叫 tempdata2 在e:\temp\AA 目录下. 执行文件也在e:\temp\AA 目录下
      

  9.   

    如果没有这个文件夹怎么办,你应该先创建
    ForceDirectories(‘E:\TEMP\AA’)
      

  10.   

    lovelymelon 你给个QQ号行吗? 
      

  11.   

    var path:string;
    cc:string;
    begin
    path:=ExtractFilePath(Application.ExeName);adoquery1.ConnectionString:='DSN=test2;DBQ='+path+';DefaultDir='+path+';DriverId=538;FIL=Paradox 5.X;MaxBufferSize=2048;PageTimeout=5;DSN=test2;DBQ='+path+';DefaultDir='+path+';DriverId=538;FIL=Paradox 5.X;MaxBufferSize=2048;PageTimeout=5';
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from tempdata2.db');
    adoquery1.Open;
    adoquery1.Active:=true;
    end;还是有错啊.
      

  12.   

    或者是这个,不知道你具体是怎么做的
    vg_path:= ExtractFilePath(Application.ExeName);
    'DSN=test2;DBQ='+vg_path+';DefaultDir='+vg_path+';DriverId=538;FIL=Paradox 5.X;MaxBufferSize=2048;PageTimeout=5;
      

  13.   


    ConnString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'\DB\db.mdb'+';Persist Security Info=False';
    AdoConnection.ConnectionString := ConnString;
    AdoConnection.connected := true;