Estou fazendo um teste com ODBC, SQL Server e Store Procedure, conforme o código abaixo:
Option Explicit
Dim area As Workspace
Dim conexao As Connection
Dim resultado As Recordset
Dim consulta As QueryDef
Dim gSql As String
Dim aspa As String
Private Sub cmdIncluir_Click()
If Trim(txtNome.Text) = "" Then
MsgBox "Informe o nome"
Exit Sub
End If
Set consulta = conexao.CreateQueryDef("")
consulta.Prepare = dbQUnprepare
gSql = "sp_insert_Pessoa1" & aspa & txtNome & aspa & ","
If Trim(txtNaturalidade.Text) = "" Then
gSql = gSql & "null,"
Else
gSql = gSql & aspa & txtNaturalidade.Text & aspa & ","
End If
If cboEstado.ListIndex = -1 Then
gSql = gSql & "null,"
Else
gSql = gSql & cboEstado.ItemData(cboEstado.ListIndex) & ","
End If
If IsNull(dtpNascimento) Then
gSql = gSql & "null,"
Else
gSql = gSql & aspa & dtpNascimento & aspa & ","
End If
gSql = gSql & aspa & dtpEmissao & aspa
consulta.SQL = gSql
consulta.Execute
ListaPessoa
cboPessoa.SetFocus
End Sub
Private Sub Form_Load()
Set area = CreateWorkspace("NovaArea", "admin", "", dbUseODBC)
Set conexao = area.OpenConnection("Conexao", dbDriverNoPrompt, , "ODBC;DATABASE=Exemplo;UID=public;PWD=;DSN=UserSQL")
ListaPessoa
gSql = "select * from Estado"
Set resultado = conexao.OpenRecordset(gSql, dbOpenSnapshot)
Do Until resultado.EOF
cboEstado.AddItem resultado!sigla
cboEstado.ItemData(cboEstado.NewIndex) = resultado!IdEstado
resultado.MoveNext
Loop
resultado.Close
aspa = """"
End Sub
Private Sub ListaPessoa()
cboPessoa.Clear
gSql = "select * from Pessoa"
Set resultado = conexao.OpenRecordset(gSql, dbOpenSnapshot) 'o dbopenSnapshot indica que a consulta é somente leitura e consequentemente mais rápida
Do Until resultado.EOF
cboPessoa.AddItem resultado!nome
cboPessoa.ItemData(cboPessoa.NewIndex) = resultado!IdPessoa
resultado.MoveNext
Loop
resultado.Close
End Sub
Pergunta
Alex Mauricio
Estou fazendo um teste com ODBC, SQL Server e Store Procedure, conforme o código abaixo:
Porém está dando o seguinte erro:
Run-time erro '3146'
ODBC-call failed
Onde eu salvo uma stored procedure?
Obrigado
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.