[firebase-br] Mais duvidas
Cmte Wilson
wilson.butigeli em itelefonica.com.br
Qui Jan 22 12:55:18 -03 2009
Julio, faço da seguinte maneira:
abertura de conexão feita numa procedure em um módulo a parte
Tenho um arquivo .txt onde coloco os dados que preciso (ip do servidor,
path até o banco, e um metodo que pode ser obdc ou oledb)
Global Conn As New ADODB.Connection
Set Conn = CreateObject("Adodb.connection")
Conn.CursorLocation = adUseServer
If vmetod = "1" Then
Conn.Open "DRIVER=Firebird/Interbase(r) driver; UID=SYSDBA;
PWD=masterkey; DBNAME=" & vipip & ":" & vcami & "\TRANSPORTE.FDB"
ElseIf vmetod = "2" Then
Conn.Open "Provider=IbOleDb.1;Location=" & vipip & ";Data
Source=" & vcami & "\TRANSPORTE.FDB;User
ID=SYSDBA;Password=masterkey;Extended Properties='sql
Dialect=3;Character Set=ISO8859_1;Collate = PT_BR'"
Else
msgbox "Erro"
endif
minhas consultas sao da seguinte forma:
como já tenho a conexão aberta o mdiform só realizo os select, insert,
update,...
Dim teste As New ADODB.Recordset: Set teste =
CreateObject("ADODB.RECORDSET")
Set teste = Conn.Execute("Select gen_id(gen_aluno,1)
from rdb$database")
txtcodigo.text = teste!gen_id
teste.Close: Set teste = Nothing
txtnome.SetFocus
ou um outro exemplo
Dim setor As New ADODB.Recordset: Set setor =
CreateObject("ADODB.RECORDSET")
Set setor = Conn.Execute("Select A.dataalteracao,
A.datacadastro, A.hora, A.codigooperador, A.codigoaluno, A.endereco,
A.rg, A.cpf, A.telefone, A.fax, A.celular, A.nascimento, A.nome, A.pai,
A.mae, A.km, A.casaescola, A.cidadeviagem, A.codigobairro,
A.codigosituacao, A.codigotransporte, " & _
"S.descricaosituacao, " & _
"B.descricaobairro, " & _
"T.descricaotransporte " & _
"from ALUNO A, SITUACAO S, TRANSPORTE
T, BAIRRO B " & _
"where A.codigoaluno=" & txtcodigo.text
& " " & _
"and A.codigosituacao=S.codigosituacao
" & _
"and
A.codigotransporte=T.codigotransporte " & _
"and A.codigobairro=B.codigobairro " & _
"order by A.codigoaluno asc")
If Not setor.EOF Then
msknascimento.Mask = ""
mskrg.Mask = ""
.....
Espero ter auxiliado.
Wilson
Julio Oliveira escreveu:
> Gente desculpe se estou enchendo o saco de vocês com duvidas bobas, já que
> tenho acompanhado o fórum e as perguntas são bem especificas e difíceis,
> pelo menos pra mim neste momento, porem é o seguinte :
>
>
>
> Estou reescrevendo uma aplicação em VB6 que eu tenho aqui, de Software
> Hoteleiro, que está rodando perfeitamente com access e DAO, porem resolvi
> utilizar e ao mesmo tempo estudar o FIREBIRD com o ADO, já era hora de
> migrar. Bom meu primeiro dilema foi acessar o firebird, consegui resolver
> depois de muito penar, agora estou com o segundo problema que é o seguinte.
> O meu sistema quando inicia primeiramente ele pede um login e uma senha de
> acesso que é o acesso ao SISTEMA e nao ao banco de dados, perfeito, o
> usuario digita login e senha e eu acesso a tabela de usuarios no firebird
> perfeitamente sem problema nenhum, e autentico a entrada do mesmo, em
> seguida eu executo um MDIFORM que é onde existe o menu da aplicação e acesso
> novamente o FIREBIRD a fim de pegar os seus acessos, e dar enable ou nao nas
> opções do menu. Bom o meu problema esta na hora em que vou abrir o recordset
> deste acesso, pois, o VB me retorna o erro Runtime error
> -2147467259(80004005) erro desconhecido e nao abre de forma nenhuma o
> recordset, abaixo forneço como estou abrindo o RS.
>
> Function SETARS()
> dim mbanco as adodb.connection
> dim mparam as adodb.recordset
> dim CONEXAO as string
> CONEXAO = "Provider=IbOleDb;Location=x.ddns.com.br:;Data
> Source=d:\dados\database\hotel.gdb;user
> id=SYSDBA;password=masterkey;Extended Properties=Character Set=ISO8859_1;SQL
> Dialect=3;User Role=;"
> set mBanco = New ADODB.Connection
> mBanco.CursorLocation = adUseClient
> mBanco.Open funcoes.CONEXAO
> Set mtabparam = New ADODB.Recordset
> mtabparam.CursorType = adOpenStatic
> mtabparam.CursorLocation = adUseClient
> mtabparam.LockType = adLockPessimistic
> mtabparam.Source = "SELECT * FROM USRTELAS WHERE USRID =" & FUNCOES.MCODUSER
> mtabparam.ActiveConnection = funcoes.mBanco
> mtabparam.Open
> End Function
>
> O VALOR DE FUNCOES.MCODUSER é 1, pois bem é a mesma instrução de quando
> autentico o usuario a unica coisa diferente é a instrução select que é em
> outra tabela.
>
> Sera que alguem poderia me ajudar ou pelo menos tentar me dar uma luz do que
> esta acontecendo ? isso ocorre com qualquer outra tabela que eu tente
> acessar, ou seja, o primeiro acesso do meu sistema em qualquer tabela
> funciona 100 % porem no segundo acesso em diante dá o erro mencionado
> anteriormente, ja encontrei que esse erro poderia se referir a direitos das
> tabelas, porem estou com o usuario ADMINISTRADOR do FIREBIRD e já conferi os
> seus direitos e ele tem acesso a fazer tudo no BANCO e em QUALQUER TABELA.
>
> Pelo amor de deus, estou a ponto de desistir e voltar para o bom e velho DAO
> com ACCESS onde tudo funcionava maravilhosamente bem (rsrsrsrsrs)...
>
> Obrigado a todos pela atenção.
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> ------------------------------------------------------------------------
>
>
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com
> Version: 8.0.176 / Virus Database: 270.10.12/1908 - Release Date: 21/1/2009 21:15
>
>
Mais detalhes sobre a lista de discussão lista