注册表中HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources还有就是local_machine里的

解决方案 »

  1.   

    如果不用注册表也不使用BDE,而像VC中一样使用SQLDataSources得到所有的数据源名称,Delphi有没有类似的方法。反正Delphi自己能列举出所有的dsn,faint......
      

  2.   

    还是读注册表的好:HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources还有就是local_machine里的
    HKEY_Local_machine\Software\ODBC\ODBC.INI\ODBC Data Sources
      

  3.   

    试试Session.GetAliasNames(stringlist)
      

  4.   

    ^
    Session.GetAliasNames(Memo1.Lines) 
      

  5.   

    用到了session就用到了BDE. 看来只有把Boland公司的人拉来先奸后杀,再奸再杀了,hehe....
      

  6.   

    其实最好还是利用读注册表的方法比较好些!包括动态创建ODBC!
      

  7.   

    var
      Reg : TRegistry ;
      Names : TStringList ;
    begin
      Reg := TRegistry.Create ;
      try
        Reg.RootKey = HKEY_LOCAL_MACHINE ;
        if Reg.OpenKey('\Software\ODBC\ODBC.INI\ODBC Data Sources', true) then
        begin
          Names = Reg.GetValueNames ;
        end ;
      finally
        Reg.Free ;
      end ;
    end ;