老师要我们做一个简单的程序带数据库操作的,我按书上的基本上可以测试运行了,但是程序(包括源程序)一起复制到另一台电脑上就不可以运行,非法操作,似乎是揭示数据库别名有问题!!!请问我该怎样做才能让他在其它电脑上也能正常运行呢!!麻烦各位哥哥姐姐,给我一些提示谢谢了。

解决方案 »

  1.   

    你的数据库连接用的是什么?还有是直接通过属性连接的吗?还有就是机器装了mdac没有?一定是这三方面的问题
      

  2.   

    用到别名,就是连接控件用的是BDE你在做程序之前多看看书!!
      

  3.   

    要设置一下ODBC!根你搞开发的那台机器上一样的就行了!ODBC在控制面板里面设置!
      

  4.   

    用ADO连吧!方便!不用象BDE那么麻烦
      

  5.   

    应该是数据库连接的问题,把数据库的连接问题搞清楚,提倡改用ADO这样麻烦会少很多。
      

  6.   

    用ADO的话也要注意版本的问题,要升级MDAC,不然也有可能出错!
      

  7.   

    //连接Access
    function Tdm.GetConnectionString: Boolean;
    var
      strConn: WideString;
    begin
      Result :=False;
      Conn.Connected :=False;
      if Conn.Connected = False  then
      begin
        SYSPath := ExtractFilePath(Application.ExeName) +'Data\DevData.mdb';
        try
          strConn :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;';
          strConn :=strConn + 'Data Source= ' +SYSPath+';';
          strConn :=strConn + 'Persist Security Info=False';
          //strConn :=strConn + 'Jet OLEDB:Database Password=jijing';      Conn.ConnectionString :=strConn;
          Conn.Connected        :=True;
          //curEditColor:=StringtoColor(GetSysOption('编辑组件背景色',AdoTemp));
          //curGridColor:=StringtoColor(GetSysOption('网格选定背景色',AdoTemp));
          Result               :=True;
        except
          Result := False;
        end;
      end;
    end;
    procedure Tdm.DataModuleCreate(Sender: TObject);
    begin
      if Not GetConnectionString then begin
        MsgBox('出错!');
        Application.Terminate;
      end;
    end;试一下,应该不会有问题的!