DUVIDA ADO
Pessoal desculpa a ignorancia mais é que estou aprendendo rss!!!...........Eu gostaria de saber o seguinte......por exemplo tenho 2 tabelas no BD.......Posso usar sempre uma variavel pra manipular as 2 tabelas ???? ex
Public TB As ADODB.Recordset
SQL = "Select * from TabCarros"
TB.Open SQL, BD, adOpenStatic, adLockOptimistic
Por exemplo quero usar a outra tabela
Set TB = Nothing
SQL = "Select * from TabItem"
TB.DataSource = SQL
Ou sempre tenho que declarar para cada tabela uma variavel??ex
Public TBcarros As ADODB.Recordset
Public TBItem As ADODB.Recordset
Ou seila....... se dá pra usar as duas formas qual seria a melhor???
Obrigado
Public TB As ADODB.Recordset
SQL = "Select * from TabCarros"
TB.Open SQL, BD, adOpenStatic, adLockOptimistic
Por exemplo quero usar a outra tabela
Set TB = Nothing
SQL = "Select * from TabItem"
TB.DataSource = SQL
Ou sempre tenho que declarar para cada tabela uma variavel??ex
Public TBcarros As ADODB.Recordset
Public TBItem As ADODB.Recordset
Ou seila....... se dá pra usar as duas formas qual seria a melhor???
Obrigado
Eu sempre utilizo um Recordset para cada SQL, já que, na minha opinião fica mais otimizado. (e é padrão onde eu trabalho)
Concordo com o SCREECH..
Mais existe alguma direferença no desempenho ou algo do tipo ???
é só vc fazer assim antes de qualquer operacao
Set TB = New ADODB.Recordset
bom eu uso assim e nunca tive problemas pra acessra os dados no banco
Set TB = New ADODB.Recordset
bom eu uso assim e nunca tive problemas pra acessra os dados no banco
Alguem mais???
Coloque isso no DECLARATIONS do form
ai a qualquer momento você pode USAR a CONEXAO aberta no EVENTO formload...
Botão incluir
Botão abrir
Entendeu... só é necessário uma CONEXAO (CNN) um RECORDSET(rst)
Depois vc pode manipular e abrir, diferentes tabelas... dentro do banco...
se quiser.. você pode ate fechar a conexao... e abrir outra com outro banco de dados...
Entendeu?
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim sql As String
[c]
no evento form LOAD
[c]
'Abre a conexão
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\DIGITESTE este.mdb;"
ai a qualquer momento você pode USAR a CONEXAO aberta no EVENTO formload...
Botão incluir
sql = "INSER INTO TABELA(CAMPO1,CAMPO2) VALUES(1,2)"
rst.Open sql, cnn, adOpenKeyset, adLockOptimistic, adCmdText
rst.close
Botão abrir
'Usar o rst (recordset) para abrir outra tabela
sql = "SELECT * FROM [txt-color=#ff0000]TABELA2[/txt-color]"
rst.Open sql, cnn, adOpenKeyset, adLockOptimistic, adCmdText
rst.close
Entendeu... só é necessário uma CONEXAO (CNN) um RECORDSET(rst)
Depois vc pode manipular e abrir, diferentes tabelas... dentro do banco...
se quiser.. você pode ate fechar a conexao... e abrir outra com outro banco de dados...
Entendeu?
Particularmente, não gosto de usar vários recordsets. Nos meus projetos uso apenas 3, globais. Como nunca deixo conecxões abertas sem estarem sendo utilizadas, o sistema não fica instanciando conexões. E uso três porque acontece de as vezes estar com um aberta e precisar fazer uma consulta rápida, aà uso a outra, etc... Acredito que vários recordsets deixem o sistema mais pesado, pensa bem, várias conexões, sendo criadas, etc...
Talvez não seja má ideia dar uma vista de olhos neste artigo do "Mestre":
http://www.macoratti.net/d260901.htm
http://www.macoratti.net/d260901.htm
Valeuu galeraa pelas dicas !!!
Tópico encerrado , respostas não são mais permitidas