Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jonathan Fernando Filman

[Resolvido] Conexão em ADO no VB6

Recommended Posts

Olá galera é demorei mais estou aqui novamente pedindo a ajuda de vocês!

 

O que gostaria de saber é :

 

Qual a melhor conexão via ADO em VB6 e ACCESS 2003; como fazer uma BOA que é muito dificil de dar

errado?

 

 

Tenho um BD chamado Cadastro e uma tabela chamada Produtos que é onde armanezarei todos os produtos

cadastrados no Programa!

 

 

 

Conto com a ajuda de vocês.

 

 

 

Obrigado

Fico no Aguardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só, costumo montar minhas conexões sempre assim:

 

uma variável para conexão (cn) declarada como adodb.connection e uma variável para abertura da tabela (rs) declarada como adodb.recordset

 

Não costumo ter problemas, a única coisa que já vi ocorrer de não ter achado solução é em casos de tabelas muito grandes (mais de 1.000.000 de registros), onde é comum ocorrer erro de tempo expirado, mas fora isso vai tudo muito bem.

 

Vou por um exemplo abaixo:

 

private cn as adodb.connection
private rs as adodb.recordset

private sub form_load

set cn = new adodb.connection
cn.connectionstring = ""
cn.open

set rs = new adodb.recordset
rs.open "select * from suatabela", cn, 3, 3

do until rs.eof
msgbox rs(0)
rs.movenext
loop

end sub

Se tiver dúvidas poste ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi as partes que estão em vermelho para que serve

 

 

set cn = new adodb.connection

cn.connectionstring = ""

cn.open

 

set rs = new adodb.recordset

rs.open "select * from suatabela", cn, 3, 3

 

do until rs.eof

msgbox rs(0)

rs.movenext

loop

 

 

 

Obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cn.connectionstring = ""

indica o banco, o driver, usuario , senha , tudo que é necessario para conectar no banco.

 

o primeiro tres deve ser CursorType(adOpenStatic)

ver dados de outros o usuarios na sua conexao

 

e o segundo LockType(adLockOptimistic)

tem a ver com permissões de atualização enquanto há outros usuário conectados.

 

 

acho que ta na ordem :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

 

Agradecia ajuda pois estou a tentar utilizar um modulo à parte para a conexao, para não ter de estar sempre a escrevela para todos os formulários, mas está a dar erro, poderiam dar-me uma ajuda?

Estou a utilizar este código:

 

Function ConServer()
Dim con As ADODB.Connection
Set con = New ADODB.Connection
con.ConnectionString = "Driver={SQL Server};Server=xxxxxxx;Database=xxxx;Uid=xxxxx;Pwd=xxxxx"
con.Open
End Function

Private Sub Form_Load()
Dim sql As String
Dim rs As New ADODB.Recordset

Set rs = New ADODB.Recordset
Set rs.ActiveConnection = ConServer

sql = "Select * from Tabela"

rs.Open sql


txtOB = rs.Fields("TPP")
txtDrede = rs.Fields("TP")
txtDDCC = rs.Fields("LOcalidade")

End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altere a função ConServer para isso:

Function ConServer()
Dim con As ADODB.Connection
Set con = New ADODB.Connection
con.ConnectionString = "Driver={SQL Server};Server=xxxxxxx;Database=xxxx;Uid=xxxxx;Pwd=xxxxx"
con.Open
ConServer = con '<---------
End Function

Falta o retorno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim.

Function ConServer() As ADODB.Connection '<-----------
Dim con As ADODB.Connection
Set con = New ADODB.Connection
con.ConnectionString = "Driver={SQL Server};Server=xxxxxxx;Database=xxxx;Uid=xxxxx;Pwd=xxxxx"
con.Open
ConServer = con '<---------
End Function

Coloque o erro, isso ajuda muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Rui.

 

E que linha o erro aponta?

 

Mas o que você pode fazer é o seguinte, ao invés de declarar suas variáveis de conexão dentro do function, declare-as fora como públicas. Ficaria assim:

 

Public con As ADODB.Connection

Function ConServer()
Set con = New ADODB.Connection
con.ConnectionString = "Driver={SQL Server};Server=xxxxxxx;Database=xxxx;Uid=xxxxx;Pwd=xxxxx"
con.Open
End Function

Private Sub Form_Load()
Dim sql As String
Dim rs As New ADODB.Recordset

Set rs = New ADODB.Recordset
Set rs.ActiveConnection = con

sql = "Select * from Tabela"

rs.Open sql


txtOB = rs.Fields("TPP")
txtDrede = rs.Fields("TP")
txtDDCC = rs.Fields("LOcalidade")

End Sub

Tente e veja se resolve.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá obrigado pela colaboração

Usei o código que você mandou e dá o seguinte erro:

 

Run-time error '3709'

The connection cannot be used to perform this operation. Itis either closed or invalid this context

 

o Erro é na linha:

rs.Open sql

 

 

Qual será o motivo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, faltou chamar a função:

 

Private Sub Form_Load()
Dim sql As String
Dim rs As New ADODB.Recordset

call ConServer

Set rs = New ADODB.Recordset
Set rs.ActiveConnection = con

sql = "Select * from Tabela"

rs.Open sql


txtOB = rs.Fields("TPP")
txtDrede = rs.Fields("TP")
txtDDCC = rs.Fields("LOcalidade")

End Sub

Tente agora. Sem chamar a função conn não estava aberto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.