我知道在SQLServer上用“exec sp_databases”可以获取当前服务器上所有的数据库名称,但不知道在Delphi中(用ADO)如何调用,请各位高人指点!

解决方案 »

  1.   

    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('sp_databases');
    ADOQuery1.Open;
    while not ADOQuery1.Eof do begin
      ShowMessage(ADOQuery1.Fields[0].AsString);
      ADOQuery1.Next;
    end;
    ADOQuery1.Close;
      

  2.   

    楼上的高人,再帮俺一下:sp_tables NULL, NULL, NULL, "'TABLE'" 在SQLServer中执行,可以获取当前数据库中所有表的信息,在Delphi中如何调用呢?
    另外:Delphi中提供的ADOStoredProc组件能否实现以上功能,如何实现?俺是Delphi初学者望大虾们能够多多帮助,感激不尽!
      

  3.   

    ADOStoredProc组件是专门用来调用存储过程
    设好它的Connection和DataSource属性
    With ADOStoredProc1 do
    begin
      Close;
      ParamByName('@percentage').AsInteger:=100;//@percentage'为存储过程的参数
      Active:True;
    end;
      

  4.   

    也可以用 select * from master..sysdatabases 得到数据库名,suid<>1 为用户创建的数据库名。
      

  5.   

    上面有一个地方错了,ADOStoredProc组件是专门用来调用存储过程
    设好它的Connection和procedurename属性
    With ADOStoredProc1 do
    begin
      Close;
      ParamByName('@percentage').AsInteger:=100;//@percentage'为存储过程的参数
      Active:True;
    end;
      

  6.   

    wyxdream():
    能否就sp_databases给俺举个例子?多谢!