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