rt

解决方案 »

  1.   

    给个邮箱
    我mail个demo给你
      

  2.   

    这是我搜索到的结果,可惜有问题。
    procedure TInitForm.FormCreate(Sender: TObject);
    var
       SQLServer:Variant;
       ServerList:Variant;
       i,nServers:integer;
    begin
      SQLServer := CreateOleObject('SQLDMO.Application');//问题出在这里,字符串有错!
      ServerList:= SQLServer.ListAvailableSQLServers;
      nServers:=ServerList.Count;
      for i := 1 to nservers do
          ServerName.Items.Add(ServerList.Item(i));
      SQLServer:=NULL;
      serverList:=NULL;
    end;
      

  3.   

    还用写什么程序,直接新建一个UDL文件,然后在程序中调用,让用户选择服务器就可以了。
      

  4.   

    to: wudi_1982(啥都不会) 愿闻其详。
      

  5.   

    uses
       ComObj; 
    var
      sss : TstringList;  sss := TstringList.Create;
      if GetSQLServerList(sss) then
        memo1.Lines.AddStrings(sss);
      sss.Free;
    {=================================================================
      功  能: 返回网络中SQLServer列表
      参  数: List: 需要填充的List
      返回值: 成功:  True,并填充List  失败 False
      备 注:  uses ComObj
      版 本:  1.0  2002/10/02 22:44:00
    =================================================================}
    Function GetSQLServerList(var List: Tstringlist): boolean;
    var
       i: integer;
       sRetValue: String;
       SQLServer: Variant;
       ServerList: Variant;
    begin
      Result := False;
      List.Clear;
      try
        SQLServer := CreateOleObject('SQLDMO.Application');
        ServerList := SQLServer.ListAvailableSQLServers;
        for i := 1 to Serverlist.Count do
          list.Add (Serverlist.item(i));
        Result := True;
      Finally
        SQLServer := NULL;
        ServerList := NULL;
      end;
    end;
      

  6.   

    这是结果:我晕了,呵呵。
    ---------------------------
    Debugger Exception Notification
    ---------------------------
    Project Project1.exe raised exception class EOleSysError with message '类字符串无效'. Process stopped. Use Step or Run to continue.
    ---------------------------
    OK   Help   
    ---------------------------
      

  7.   

    Variant  SQLServer;
      Variant  ServerList;
      int  i,nServers;
      String  sRetValue;
      try
      {
        SQLServer = CreateOleObject("SQLDMO.Application");
      }
      catch(...)
      {
        ShowMessage("您的本机系统没有安装SQL Server或SQL Server客户端软件");
        return;
      }  ServerList= SQLServer.OleFunction("ListAvailableSQLServers");
      nServers=ServerList.OlePropertyGet("Count"); 
      ListBox1->Items->Clear();
      for(i=1;i<=nServers;i++)      //将检测结果放入ListBox1中
        ListBox1->Items->Add( ServerList.OleFunction("Item", i) );
      SQLServer=Unassigned;
      ServerList=Unassigned;详细情况:
    http://www.csdn.net/develop/Article/14/14912.shtm
      

  8.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      Db, ADODB,AdoConEd, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        ADOConnection1: TADOConnection;
        Memo1: TMemo;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    begin
      //注意引用AdoConEd这个单元,添加一个按钮,一个memo1,一个ADOConnection1
      ADOConnection1.Close;
      if EditConnectionString(ADOConnection1) then
         Memo1.Lines.Add(ADOConnection1.ConnectionString)
    end;end.
      

  9.   

    ShowMessage("您的本机系统没有安装SQL Server或SQL Server客户端软件");我的确没有安装sqlserver也没有安装sqlserver客户端软件,可是我的delphi怎么能找到sql服务器呢?
      

  10.   

    谢谢大家,我的问题解决了。
    用的是esu的方法。
    其他人的方法必须要安装sqlserver或者sqlserver客户端才可以。