是这样的,我是用BDE与ORacle相连接,配置是都可以的,BDE数据库别名是Budget,Budget的ServerName是DBNAME。我想知道如何实现在Delphi中动态获得它的ServerName值DBNAME????高分求救!!!!

解决方案 »

  1.   

    你是通过TDatabase来连接数据库的吧。tdatabase不是有parameters属性吗?你选择drivername为oracle的驱动程序名称,然后增加以下四个参数:databasename,userid,password,然后给这些参数赋值即可。
      

  2.   

    不要用BDE行不?用ADO吧,那个东西呢,现在看来是各方面都不行了,而且BORLAND已放弃了,用ADO或DELPHI自已的DBEXPRESS
      

  3.   

    TSession类有一个GetAliasParams方法,可以获得当前别名得所有参数列表
      

  4.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      SList : TStringList;
      DBName : String;
    begin
      SList := TStringList.Create;
      Database1.Session.GetAliasParams(Database1.AliasName, SList);
      DBName := Copy(SList.Strings[0], 13, Length(SList.Strings[0])-12);
      ShowMessage(DBName);
      SList.Free;
    end;
      

  5.   

    可以现在ODBC中连接 再在BDE进行连接ODBC或者选择BDE中地ORACLE进行连接 但是BDE连接ORACLE好像性能不是很好建议不要使用BDE了
      

  6.   

    BDE连接ORACLE好像性能不是很好==============================我觉得好
      

  7.   

    上楼用地是什么了
    我用的 8i 性能还不如 SQL SERVER 7.0 了
      

  8.   

    方法二
    procedure TForm1.Button1Click(Sender: TObject);
    var
      SList : TStringList;
      ServerName : String;
    begin
      SList := TStringList.Create;
      Database1.Session.GetAliasParams(Database1.AliasName, SList);
      ServerName := Copy(SList.Strings[0], 13, Length(SList.Strings[0])-18);
      ShowMessage(ServerName);
      SList.Free;
    end;
      

  9.   

    方法一
    procedure TForm1.Button1Click(Sender: TObject);
    var
       MyStringList:TStringList;
    begin
       MyStringList:=TStringlist.Create;
       Session.GetDataBaseNames(MyStringList);
       showmessage(MyStringList[0]);   //得到BDE别名Budget
       showmessage(Database1.AliasName);   //得到数据库别名DBNAME
    end;
      

  10.   

    老兄,你发那么多贴呀,分太多了,用Session可以,上面的都行,我不说了procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      SList : TStringList;
      DBName : String;
    begin
      SList := TStringList.Create;
      Database1.Session.GetAliasParams(Database1.AliasName, SList);
      DBName := Copy(SList.Strings[0], 13, Length(SList.Strings[0])-12);
      ShowMessage(DBName);
      SList.Free;