Ir para conteúdo

POWERED BY:

Arquivado

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

Marostegan

DataSet

Recommended Posts

Olá pessoal!

 

Bom, de umas 2 semanas pra cá comecei a me deparar com um erro no meu sistema em meu cliente:

 

"A linha não pode ser localizada para atualização. Alguns valores podem ter sido alterados desde que ela foi lida pela última vez"

 

BANDO DE DADOS: ACCESS

 

CONEXÃO: ADOConnection

ADOQuery

DataSource

 

Pesquisando na internet achei um site aonde o cara falou que para resolver esse problema deveria ir no ADOQuery - Na propriedade CURSORLOCATION e alterar para "clUseServer"

 

Como só fala isso e não tinha mais nenhuma explicação ou alguém comentando que fez isso e deu certo, resolvi vir tirar dúvida aqui antes de alterar todos os ADOQuery´s de meu sistema.

 

DUVIDAS:

 

1- Está correto isso?

2- Para que serve essa propriedade: CursorLocation?

3- Percebi que ao alterar isso ele passa o Active para FAlse, tem que deixar assim?

4- E a propriedade: CursorType - o que devo setar ela e para que serve essa propriedade?

 

Desde já agradeço a atenção!

 

Abraços a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, você poderia ter dado uma lida no help do próprio componente.... lá tem descrito para que serve cada uma das propriedades que perguntou, conforme segue abaixo.

 

CursorLocation property (TADOConnection)

Specifies whether cursors for the connection is client-side or server-side.

Delphi syntax:

property CursorLocation: TCursorLocation;

C++ syntax:

__property TCursorLocation CursorLocation = {read=GetCursorLocation, write=SetCursorLocation, default=1}

Description

Use CursorLocation to indicate whether the cursors that use the connection object to connect to the ADO datastore use a client-side or server-side cursor library. CursorLocation only affects connections opened after the property is set. The default value for CursorLocation is clUseClient.

A client-side cursor offers more flexibility. All data is retrieved to the local machine and then operated on there, allowing operations not normally supported by servers like sorting and resorting the data and additional filtering. SQL statements are executed at the server, so for statements that restrict the result set with a WHERE clause, only the reduced result set is retrieved to a local cursor.

A server-side cursor offers less flexibility, but may be more advantageous (or necessary) for large result sets. Using a server-side cursor becomes necessary when the sheer size of a result set exceeds the available disk space that would be needed to create the client-side cursor. Also, many servers only support unidirectional cursors. This would preclude moving the record pointer in the dataset backward (even one record) through the result set.

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.