QUAL E A DIFERENCA ?
Ai pessoal qual a diferença dos exemplos abaixos..
Dim rs As ADODB.Recordset
ou
Dim rs As New ADODB.Recordset
ou seja, ja declarar com "NEW" ou setar depois...
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...
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 !!
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 !!
Mais no final das contas vai ser tudo a mesma coisa, ambos irão utilizar a Referencia ADO !!
Abraços !!
Abraços !!
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...
é 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...
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...
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...
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")
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")
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...
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...
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.
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.
valeu CHIARADIA .........
Tópico encerrado , respostas não são mais permitidas