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