Ir para conteúdo
Fórum Script Brasil
  • 0

Duvidas Sobre Propriedades


Guest - Junior -

Pergunta

Guest - Junior -

olá, gostaria de saber a utilidade desses codigos abaixos q são propriedades de uma recordset..

tabela.CursorLocation = adUseClient

tabela.CursorType = iCursorType

tabela.LockType = iLockType

e se tiver outras propriedade importantes q eu não citei acima, eu gostaria de q postassem pra mim ter uma ideia, porque eu vejo em um monte de lugar varias propriedades de uma tabela e não sei a sua utilidade...apenas copio td...

desde já eu agradeç valeu....

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Brother...

Desculpa a demora da minha resposta....é que estou numa correria danada...

tabela.CursorLocation = adUseClient

AdUseClient

Cursores no lado do cliente, especificado com a palavra-chave AdUseCliente, a manipulação é interna do ADO. Estes cursores oferece mais funcionalidade do que o cursor no lado do servidor e resulta em menos carga ocupada no servidor. A maioria da funcionalidade avançada do ADO é projetado para uso com o cursor no cliente.

Eu, particularmente, uso o AdUseClient para minhas aplicações (com algumas exceções é claro:D).

Quando é usado o cursor do cliente (AdUseClient), apenas o cursor AdOpenStatic é disponível, e nós não podemos usar tipo de travamento(LockType) AdLockPessimistic.

O cursor do cliente diminui a carga no servidor, desde que com o dado de cursor estático é enviado ao cliente, então o servidor não tem nenhuma comunicação adicional com o cliente. Isso permite que seu servidor escale muito melhor do que com o cursor no lado do servidor.

tabela.CursorType = iCursorType

Existe esses três cara...

AdOpenStatic (lado do cliente)

AdOpenForwardOnly (lado do servidor)

AdOpenDynamic (lado do servidor)

tabela.LockType = iLockType

Existe quatro tipos de travamentos. São eles:

adLockReadyOnly (padrão)

adLockOptimistic

adLockPessimistic

adLockBatchOptimistic

Se quiser uma descrição de ambos cara, é só falar wink.gif

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0

seguinte...eu gostaria de agradescer pela resposta, mais eu esqueci de avisar q to começando e por isso não entendi nenhuma explicação dada por vc, você uso termos muito tecnico, não consigo intende..por exemplo, o que é cursor?? como assim o lado do servidor, o lado do cliente?? o porque q é rapido no servidor....e as sobre as outras coisas eu gostaria de pedir tb um explicação mais facil de intender.....por fim gostaria de me desculpar por não ter falado de minha ignorancia...e agradecer pela resposta, pena q não intendo....

Link para o comentário
Compartilhar em outros sites

  • 0

Beleza então brother...

Foi mal aí por ter sido muito técnico e tals biggrin.gif

Bom, vamos lá então...

Cursores

Quando nós falamos em cursores, estamos falamos sobre uma linha.

Quando você faz uma consulta que retorna vários registros, por exemplo SELECT * FROM MinhaTabela (selecione tudo da tabela MinhaTabela), o resultado usa um cursor para navegar nos registros. O cursor pode ser usado no cliente com o argumento AdUseCliente, ou no servidor com o argumento AdUseServer. Os 4 tipos de cursores são:

AdOpenForwardOnly

AdOpenStatic

AdOpenDynamic

AdOpenKeyset.

AdUseClient

Cursores no lado do cliente, a manipulação é interna do ADO (tipo de conexão).

O cursor do cliente diminui a carga no servidor (banco de dados), ou seja, é muito mais rápido de se trabalhar pois deixa o servidor (banco de dados) livre.

Com relação aos demais....Onde estiver escrito Lado do Cliente entenda que é o lado do ADO (seu tipo de conexão) e quando estiver escrito Lado do Servidor seria o seu Banco de Dados wink.gif

Se ainda não entendeu cara...é só falar biggrin.gif

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0

obrigado pela resposta, mais ainda restam algumas duvidas..veja abaixo...

tabela.CursorLocation = adUseClient / esse ai serve pra dizer quem eu quero q localize meus registros (o bd ou o ado)

tabela.CursorType = iCursorType / esse aqui eu gostaria de um explicação

tabela.LockType = iLockType / e esse tb

valeu di novo

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que você não compreendeu a minha resposta anterior. Expliquei novamente o meu primeiro post. Agora, vou dar uma explicação completa do que falta.

tabela.CursorType = iCursorType / esse aqui eu gostaria de um explicação
Tipos de Cursor (CursorTypes)

Além dos dois cursor locais(AdUseServer e AdUseClient), existe outros tipos de cursor, três são suportados pelo ODBC:

AdOpenStatic (lado do cliente)

AdOpenForwardOnly (lado do servidor)

AdOpenDynamic (lado do servidor)

AdOpenStatic

O cursor estático é o único cursor disponível quando se usa o adUseClient. Com o cursor estático, o servidor emitirá o resultado ajustado no cliente, depois não haverá nenhuma mais nenhuma comunicação adicional do servidor ao cliente.

O cliente pode comunicar-se devolta com o servidor para enviar as mudanças no servidor. A maioria dos recursos vai para o cliente do que o servidor com o cursor estático, ou seja, o resultado é armazenado na memória do cliente ao invés do servidor.

Se um cliente diferente fizer mudanças nos dados do servidor depois que uma consulta é enviado, o outro cliente não reberá nenhuma notificação das mudanças. O cursor estático é bi-direcional , isso significa que a sua aplicação pode mover o anterior e o próximo registro do RecordSet.

AdOpenForwardOnly

O adOpenForwardOnly é o tipo de cursor mais rápido de todos, mas tem algumas limitações. O adOpenForwarOnly não suporta a propriedade RecordCount e o método MovePrevious do objeto RecordSet.

A forma mais eficiente de se fazer uma consulta é usando o adOpenForwardOnly com o cursor de travamento adLockReadOnly.

AdOpenDynamic

Enquanto o adOpenForwardOnly é o mais rápidos dos tipos de cursores, o cursor dinâmico é o menos eficiente. Isso significa também que para um cursor dinâmico trabalhar corretamente, você precisará de um campo com chave primária para determinar anterior e próximo. Por isso, os cursores dinâmicos não são recomendados a menos que seja muito necessário.

tabela.LockType = iLockType / e esse tb

Tipos de Travamento (LockType)

Quando as posições do cursor e os tipos do cursor especificam como nossos dados estão sendo segurados, a propriedade do tipo do travamento especifica como vamos travar os dados para proteger todas as mudanças que você fizer e assegurarmos que foram processados.

Existe quatro tipos de travamento, e o tipo de travamento é indicado no método Open do objeto RecordSet (pode ser também indicado usando a propriedade LockType do objeto RecordSet). Os quatros tipos de travamento são:

adLockReadyOnly (padrão)

adLockOptimistic

adLockPessimistic

adLockBatchOptimistic

Todos os quatros tipos pode ser usado com o cursor no lado do servidor, e o adLockPessimistic não é hablitado para o cursor no lado do cliente.

adLockReadyOnly

O tipo de travamento padrão é AdLockReadyOnly. O travamento de apenas-leitura é o travamento mais eficiente para acessar um dado, porque ele não verifica se o dado mudou na hora da consulta e consequentemente não há nenhum tráfego extra entre o servidor de carregar os registros. Como o nome implica, usando um travamento apenas-leitura não enxerga qualquer mudança feita na tabela.

adLockOptimistic

O travamento otimista é usado para modificações que acontecem simultaneamente, ou onde tem múltiplos usuários fazendo mudanças nos mesmos registros. Com um bloqueio opmistic, a tabela ou o registro bloqueado quando o método Update do RecordSet é chamado.

adLockBatchOptimistic

Quando é usado o bloqueio adBatchOptmistic, as mudanças será alocada no cache até que o método UpdateBatch do RecordSet seja chamado. Quando o UpdateBatch é chamado, todas as mudanças serão feitas no servidor em grupo.

adLockPessimistic

Em uma situação de simultaniedade elevada, com os vários usuários modificando os mesmos dados, você irá precisar de um tipo de bloqueio pessimistic. Com o adLockPessimistic, os registros (ou a tabela) serão bloqueados assim que você começar a fazer mudanças no registro atual, e não será desbloqueado até que o método Update seja chamado.

Bom, é isso æ wink.gif

Qualquer coisa post bele biggrin.gif

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

  • 0

e aee...valeu pela resposta Willian só falto explica o AdOpenKeyset.

agora deixa eu ve se entendi bem...

primeiro eu digo quem vai controlar o meu cursor..o meu programa (o cliente q você disse) ou o Banco de dados, ex: Access (no caso o servidor)..esse seria o meu primeiro passo certo??? (AdUseClient ou AdUseServer..

depois eu diria o tipo do meu cursor...no caso eu diria como o meu cliente ou o meu server taria le dando com os registros em uma determinada tabela....esse tipo de cursor diz se pode avançar um registro ou ir pra um anterior..seria algo assim ou tem mais coisa q os cursores fazem??

depois eu digo o tipo de travamento como seria, eu passava pro cliente ou para o servidor como seria o uso dos meus registros...com o travamento eu digo o que pode ser feito> se pode gravar dados, editar, buscar ou apagar registros em uma determinada tabela.

bom..se eu não tiver falando besteira eu gostaria de exclarecer algumas duvidas em relação a explicação ... eis elas ai abaixo..

1) se eu tiver uma aplicação q eu não determinei o tipo de travamento, no caso, esta aplicação teria como padrão o adLockReadyOnly??

e com isso não poderia inserir ou apagar ou editar quaisquer registro??

outra duvida..

2) NO caso de uma applicação q se utiliza varios usuarios ao mesmo tempo...eu obrigatoriamente teria q usar um cursor de travamento multi-usuario, mais eu não entendi muito bem está parte..por favor me explique di novo....

------------

Willian eu gostaria de te agradescer muito por essa explicações, tipo, eu não sabia nada mesmo sobre isso aee e agora já to manjando um pouco...ve ai se eu entendi com a explicação do q entendi acima...e se tiver alguma coisa errada por favor me corrija...e responde tb a minhas duas perguntas (de todas as minhas duvidas só restaram duas isso se a minha explicação tiver correta)..........valeu mesmo maninho...t++++

[]s...

Link para o comentário
Compartilhar em outros sites

  • 0

Opa!!!

Desculpa, acho que tinha esquecido deste:D

AdOpenKeyset.

Seria para leitura e escrita (ele não permite ver alterações ou exclusões feitas por outros usuários!)

Brother, desculpe a pergunta mas...

Você só pergunta ou já tentou colocar tudo isso falado em prática cara?

Acho que sabendo de tudo isso, o que se tem a fazer é pegar um tuto de conexão com o Banco de Dados (se ainda não sabe como) e fazer!

1) se eu tiver uma aplicação q eu não determinei o tipo de travamento, no caso, esta aplicação teria como padrão o adLockReadyOnly??

e com isso não poderia inserir ou apagar ou editar quaisquer registro??

O padrão seria adLockReadyOnly. O adLockReadOnly funciona assim: Quando você faz uma consulta ao BD (Banco de Dados) ele faz uma leitura dos dados contidos lá. Aí, se um outro cara vem e muda o Banco de Dados, ele não encherga a sua mudança. E respondendo a sua segunda pergunta, não seria possível fazer as mudanças, ou seja, use esse-o quando for fazer uma consulta ao Banco de Dados (quando não precisar e/ou não for possível fazer qualquer tipo de mudança wink.gif)

2) NO caso de uma applicação q se utiliza varios usuarios ao mesmo tempo...eu obrigatoriamente teria q usar um cursor de travamento multi-usuario, mais eu não entendi muito bem está parte..por favor me explique di novo....

Seria melhor. Seguinte: Você tendo uma aplicação multi-usuário cara, o que você tem que entender é que todos os usuários podem estar mudando os dados da mesma tabela a toda hora. Poir isso que você tem que colocar um cursor adaptado para isso, ou seja, quando um cara vem e muda, todos os outros funcionarios tem que ter conciência que aquele dado foi mudado.

Brother...

faça um teste wink.gif

Abraços,

William Rodrigues

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...