Exibindo Stored Procedures do SQL Server via ADO
Você pode exibir os procedimentos armazenados ( Stored Procedures ) existentes em qualquer banco de dados do SQL Server. Quer saber como ?
Muito simples !!! Acompanhe o código abaixo:
1- Inicie um novo projeto no Visual Basic e faça uma referência a biblioteca - Microsoft ActiveX Data Objects 2.X
2- No formulário padrão insira um controle Listbox - List1 - , um Combobox -combo1 e um commandButton - command1.
3- Na seção General Declarations do formulário insira o código que declara as variáveis usadas no projeto:
| Dim Conexao As New
        ADODB.Connection Dim rst As New ADODB.Recordset Dim strSql As String | 
4- No evento Load do formulário o código preenche o controle Combo1 com o nome das tabelas : Northwind , Pubs e Clientes , escolhidas para serem usadas como exemplo:
| Private Sub Form_Load() Combo1.AddItem "Northwind" Combo1.AddItem "Pubs" Combo1.AddItem "Clientes" Combo1.ListIndex = 0 End Sub | 
5- Finalmente no evento click do botão de comando temos o código que abre a conexão com o banco de dados e exibe as Stored Procedures no listbox.
| Private Sub Command1_Click()
Conexao.Provider = "SQLOLEDB"
Conexao.Properties("Data Source").Value = "MACORATI\MACORATTI"
Conexao.Properties("Initial Catalog").Value = UCase(Combo1.Text)
Conexao.Properties("User ID").Value = "sa"
Conexao.Properties("Password").Value = ""
List1.Clear
Conexao.Open
strSql = "Select * from sysobjects where type='P' and Category = " & 0
rst.Open strSql, Conexao, adOpenStatic, adLockReadOnly, adCmdText
While Not rst.EOF
  List1.AddItem rst.Fields(0)
  rst.MoveNext
Wend
rst.Close
Set rst = Nothing
Conexao.Close
End Sub | 
Um detalhe : Este código não exibe as stored procedures do Sistema ( System ).
Veja o resultado do processamento para os banco de dados Northwind e Clientes:
|  |  | 
Até a próxima... 
José Carlos Macoratti