QUAL E A DIFERENCA ?

USUARIO.EXCLUIDOS 23/11/2006 22:57:06
#186015
Ai pessoal qual a diferença dos exemplos abaixos..

Dim rs As ADODB.Recordset
Private Sub Form_Load()
Set rs = New ADODB.Recordset
end Sub


ou
Dim rs As New ADODB.Recordset

ou seja, ja declarar com "NEW" ou setar depois...
ESLEYSANCHES 23/11/2006 23:40:04
#186017
Basicamente seria assim:

DIM RS AS ADODB.Recordset
Você esta mandando criar uma variavel que será um Recordset do objeto ADODB

Set RS = New ADODB.Recordset
Está setando que RS é uma nova variavel ou função que irá usar o Recordset do objeto ADODB

Deu para dar uma entendida ? rsrsr !!

Abraços amigo !!
ESLEYSANCHES 23/11/2006 23:44:21
#186019
Mais no final das contas vai ser tudo a mesma coisa, ambos irão utilizar a Referencia ADO !!

Abraços !!
USUARIO.EXCLUIDOS 24/11/2006 00:07:23
#186022
DIM RS AS ADODB.Recordset
é uma variável do tipo RecordSet

Set RS = New ADODB.Recordset
ou
Dim RS As New ADODB.Recordset
é uma nova instà¢ncia de um recordset

Geralmente usa-se:
Set RS = New ADODB.Recordset

Por que você tem uma única variável para armazenar a instà¢ncia do recordset, e quando você precisar de outro, você faz rs = nothing, e depois traz outro recordset em cima da variável...


CHIARADIA 24/11/2006 19:00:31
#186199
Resposta escolhida
Quando você cria uma variavel utilizando "DIM" e define o tipo "RECORDSET" você estará especificando o tipo da variavel.
Assim deixando o tamanho do "EXE" menor pois definiu um tipo de variavel.

No momento que você não declara ela utilizando o "DIM" sua variavel, fica como variante, podendo ser de todos os tipos, string, interger, etc. Fazendo com que seu "EXE" fique maior.

O set serve somente para você inicializar uma variavel definindo um tipo. Porém aconselha-se você declarar ela com "DIM".

Você não é obrigado a Setar("SET") uma variavel, a não ser se quiser inicializa-la novamente.

Espero ter te ajudado...
USUARIO.EXCLUIDOS 25/11/2006 18:00:30
#186254
E quando a performance é o mesma coisa ? ... vejam um pedaço deste artigo que tirei aqui memos no vbmania...



Não Declare Variáveis como "As New…"
Quando você declara uma variável usando a declaração “As New”, você poupa esforço para
escrever código, podendo acessar os métodos e propriedades da classe mais facilmente.
Porém, isto torna qualquer referência ao objeto mais lenta e além disso, se a classe estiver
sendo chamada dentro de um mesmo projeto, isto fará com que o mecanismo de criação de
componentes do MTS seja incapaz de manipular o objeto, perdendo o controle do contexto de
transação e segurança no qual o objeto esteja envolvido.
How To
Use New:
• Para criar objetos tais como ADO, MSXML, CDO, MSMQ.
Ex :
Set oDBConnection = New ADODB.Connection
Use CreateObject:
• Para criar objetos através do ProgID.
Ex:
Set oISPSubs = CreateObject("MyProject.CSubscription")



USUARIO.EXCLUIDOS 25/11/2006 18:15:06
#186256
bomeu sempre uso Variavel as NEW ADODB.RecordSet...

nunca uso o set =...

queria saber porque a importancia desse NEW

se não colocar ele fala que não tá setado...ou algo do tipo...
CHIARADIA 26/11/2006 19:47:38
#186301
Quando vc defini a variave com o "AS NEW" é como vc estive fazendo uma copia de alguma variavel já existente, e isso para desempenho não é aconselhavel.... Mas a diferença é minima...

O correto, é sempre que for usar uma variavel do tipo recordset é você declarar ela usando "DIM" e utiliza-lá sem o uso do "SET", porém se necessitar utiliza-lá novamente ai sim o aconselhavel seria você seta-lá "SET" sem a necessidade de cria-lá novamente.
USUARIO.EXCLUIDOS 28/11/2006 22:21:49
#186854
valeu CHIARADIA .........
Tópico encerrado , respostas não são mais permitidas