ERRO AO ABRIR PROJETO.

DAVID.SP 17/10/2009 22:19:20
#325593
Boa noite amigo,

Estou começando a utilizar o VB com Firebird, peguei alguns tutoriais e fiz um pequeno teste de conexão, porem, ocorre erro.
Coloquei num form dois text para mostrar exatamente o q esta no select, mas ocorre o erro anexo.

Segue abaixo o código que coloquei no Módulo e Form.

Modulo
Option Explicit

[ô] Variavel para conexao ao banco
Public conexaobdcadastro As ADODB.Connection

[ô] Sub para conexao ao Banco de Dados
Sub AbreBancoDados()
Set conexaobdcadastro = New ADODB.Connection
conexaobdcadastro.Open [Ô]provider = iboledb; location=localhost:;[Ô] + _
[Ô]character set = win1252:[Ô] + _
[Ô]data source=E:\Meus Programas\Teste\Banco.gdb[Ô], _
[Ô]SYSDBA[Ô], [Ô]masterkey[Ô]
End Sub

Form
Option Explicit
Dim TabelaCADASTRO As ADODB.Recordset
Dim d_Nome As String
Dim d_Endereco As String
Dim TabelaCadastroCOMMAND As ADODB.Command
Dim q_SQL As String

Private Sub Form_Load()
Set TabelaCADASTRO = New ADODB.Recordset
Set TabelaCADASTRO.ActiveConnection = conexaobdcadastro
TabelaCADASTRO.CursorLocation = adUseClient
TabelaCADASTRO.Open , , adOpenKeyset, adLockOptimistic

q_SQL = [Ô]Select * from cadastro where nome = [ô]1[ô][Ô]

TabelaCADASTRO.Open q_SQL

d_Nome = TabelaCADASTRO!Nome
d_Endereco = TabelaCADASTRO!Endereco

Text1.Text = d_Nome
End Sub


A tabela chama-se CADASTRO e o banco é banco.gdb
Pelo IBExpert a tabela conecta numa boa.

Vocês poderiam me ajudar nesta situação?

Obrigado pela força
DAVID.SP 17/10/2009 23:06:43
#325597
Amigos,

Uma informação adicional.
Quando tento registrar a dll iboledb.dll dá erro. Diz que nao existe.
Será que pode ser isso??

Teria alguma outra saida.

Achei num forum que um colega resolveu o problema dele usando o sibprovi, registrei a dll mas nao deu certo.

Obrigado
TECLA 17/10/2009 23:09:50
#325598
Provavelmente, o erro está ocorrendo no evento LOAD do FORM.

[txt-size=2]Porque?[/txt-size]

Você criou o procedimento AbreBancoDados(), mas não utilizou-o!

Tente assim:
Option Explicit
Dim TabelaCADASTRO As ADODB.Recordset
Dim d_Nome As String
Dim d_Endereco As String
Dim TabelaCadastroCOMMAND As ADODB.Command
Dim q_SQL As String

Private Sub Form_Load()
Call AbreBancoDados [txt-color=#088A08][ô] Esta a linha que está faltando... creio eu[/txt-color]
Set TabelaCADASTRO = New ADODB.Recordset
Set TabelaCADASTRO.ActiveConnection = conexaobdcadastro
TabelaCADASTRO.CursorLocation = adUseClient
TabelaCADASTRO.Open , , adOpenKeyset, adLockOptimistic

q_SQL = [Ô]Select * from cadastro where nome = [ô]1[ô][Ô]

TabelaCADASTRO.Open q_SQL

d_Nome = TabelaCADASTRO!Nome
d_Endereco = TabelaCADASTRO!Endereco

Text1.Text = d_Nome
End Sub


Deve ser isso!
DAVID.SP 18/10/2009 00:34:21
#325600
Putz....

Boa pergunta..rsrsrs...cara sem comentários....

Mas mesmo assim ocorreu o erro anexo.

Obrigado.
DAVID.SP 18/10/2009 00:36:46
#325601
Ops...figura errada.....
DANIKULL 18/10/2009 08:51:40
#325604
DAVID_SP, bom dia.

Pegando carona na resposta do nosso amigo tecla, mude a instrução SQL de lugar, assim como no exemplo abaixo, e retire a segunda instrução OPEN. Tenta ai e qualquer coisa você reporta novamente dizendo se deu certo ou se a conexão falhou.

Option Explicit
Dim TabelaCADASTRO As ADODB.Recordset
Dim d_Nome As String
Dim d_Endereco As String
Dim TabelaCadastroCOMMAND As ADODB.Command
Dim q_SQL As String

Private Sub Form_Load()
Call AbreBancoDados

q_SQL = [Ô]Select * from cadastro where nome = [ô]1[ô][Ô]

Set TabelaCADASTRO = New ADODB.Recordset
Set TabelaCADASTRO.ActiveConnection = conexaobdcadastro
TabelaCADASTRO.CursorLocation = adUseClient
TabelaCADASTRO.Open , [txt-color=#b40404]q_SQL[/txt-color] , adOpenKeyset, adLockOptimistic

d_Nome = TabelaCADASTRO!Nome
d_Endereco = TabelaCADASTRO!Endereco

Text1.Text = d_Nome
Text2.Text = d_Endereco
End Sub
TECLA 18/10/2009 09:28:10
#325605
Experimente alterar a connection string conforme abaixo:
Provider=ZStyle IBOLE Provider;Data Source=C:\Employee.gdb;UID=sysdba;password=masterkey
DAVID.SP 18/10/2009 22:19:57
#325629
DANIKILL, TECLA

Obrigado pelo retorno, mas continua dando o mesmo erro: PROVEDOR NAO ENCONTRADO. Será que o fato da dll nao ter sido registrada esta afetando a conexao?????
Não tem quem faça eu registrar, diz que nao encontrou.

Existe algum outro provedor que eu possa utilizar??? e como colocaria no codigo??

Muito obrigado
DAVID.SP 19/10/2009 20:26:01
#325728
Alguem teria alguma ideia???

Obrigado pela força
DANIKULL 19/10/2009 21:04:33
#325729
DAVID_SP, boa noite.

O que esta ocorrendo é que o objeto ADO não está conseguindo encontrar o provedor da conexão instalado em seu micro, de uma olha em :
>Painel de Controle > Desenpenho e Manutenção > Ferramentas Administrativas > Fontes de Dados (OBDC)
De duplo clique e clique em seguida na aba Drivers e veja qual é o nome correto do driver instalado.

Veja isto e nos retorne, ok???
DAVID.SP 20/10/2009 17:28:01
#325844
DANIKULL,

Pelo que percebi, nao aparece nos Drivers nenhum que possa ser usado.
Quando vou em fonte de dados e peço para adicionar, ele não me mostra a dll que coloquei na system32 que é a iboledb.dll, quando tento registrar dá erro dizendo que nao encontrou.

Obrigado
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas