Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 15-06-2018
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
Hola Copernico, Estoy de acuerdo con los compañeros que ya han hecho sus aportes que el planteamiento de tu problema es algo desquiciado; pero bueno, para seguirte la corriente, y suponiendo que entendí el problema, propongo el siguiente fragmento de código como ejemplo de una posible solución;

Código Delphi [-]
begin
  ADOQuery1.Close;
  AdoQuery1.CursorLocation := clUseClient; // para que el cursor, de los datos,
                                           // esté lado del cliente

  AdoQuery1.CursorType := ctKeyset; // hace un snapshot de los datos, de esta
                                    // manera los datos se puede recorrer en
                                    // cualquier dirección, es decir, podemos
                                    // avanzar o retroceder.

  ADOQuery1.SQL.Text := 'Select * from Categorias';
  ADOQuery1.Open;
  ADOQuery1.Last; // Forzamos a cargar todos los registros en memoria porque el
                  // cursor está del lado del cliente.  Casi siempre funciona!.
                  // Es la forma confiable de saber cuantos registros
                  // devolvió la consulta SQL usando el método AdoQuery1.RecordCount.


  AdoQuery1.RecNo := 2; // Nos posicionamos en la segunda fila recuperada,
                        // la segunda categoria, suponiendo que exista!.

  // Obtenemos el nombre de la categoría
  Edit1.Text := ADOQuery1.FieldByName('Nombre').AsString;
end;

Nota: Una sentencia SQL select sin un order by, en la mayoría de los motores de bases de datos, puede regresar información en un orden totalmente aleatorio y no coincidir con el orden en que suponemos esta grabada la información en la tabla, sobre todo cuando el motor de bases de datos está haciendo uso de multithreading y/o paralelismo y sobre todo si se está haciendo reuso de registros borrados.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Elegir un registro de toda la tabla sin restricciones bulc Varios 2 11-06-2015 13:51:28
Seleccionar primer registro con ADOQuery radenf Varios 8 02-11-2013 12:50:42
Elegir Carpeta madiazg Varios 3 13-10-2008 19:36:32
¿Cómo refrescar un registro de una adoQuery que ataca SQL Server? socger Conexión con bases de datos 2 28-05-2008 12:59:15
¿Que elegir? sinopsis Varios 6 30-01-2005 20:11:51


La franja horaria es GMT +2. Ahora son las 19:39:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi