Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-01-2007
glopez glopez is offline
Miembro
 
Registrado: ago 2003
Ubicación: Huelva
Posts: 76
Poder: 21
glopez Va por buen camino
Numero de registro

Necesito hacer una consulta SQL con Firebird 1.5 omo la siguiente

select rownum, nombre, apellidos
from clientes

1 Pedro Lopez
2 antonio Fernandez
3
.
.

El problema es que no encuentro una funcion en firebird 1.5 que sea equivalente al rownum. Lo que quiero que me devuelva es el numero de registro según la consulta que yo haya hecho no la posición que ocupa en la base de datos.
Gracias.
Responder Con Cita
  #2  
Antiguo 07-02-2007
Avatar de pborges36
pborges36 pborges36 is offline
Miembro
 
Registrado: oct 2004
Ubicación: Argentina
Posts: 192
Poder: 20
pborges36 Va por buen camino
Podrias usar algo como esto?

Código Delphi [-]
Query1.RecNo
Responder Con Cita
  #3  
Antiguo 07-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
RecNo solo funciona en tablas planas (paradox, dbase, etc) en Firebird devolverá -1. (Creo que ha de hacerse un .last para obtener el valor, aunque no estoy seguro).

Lo que se suele hacer en estos casos es un procedimiento almacenado, declarando una variable contador que se va aumentando en cada select.

Ej:
Código SQL [-]
declare procedure ClientesNumerados()
returning( numrow integer,
              nombre varchar(80),
              Apellidos varchar(80))
as
begin 

 numrow = 0;
 for select nombre, apellidos from tabla 
 into :nombre, :Apellidos do
 begin 
   numrow := numrow + 1;
   suspend; 
 end;
end.

Está escrito de memoria, fijo que tiene errores.

Ahora en delphi:
Código Delphi [-]
query1.sql.text := 'select * from clientes_numerados order by nombre';
query1.Open;
Asociado a un Grid debería funcionar.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 12-02-2007
glopez glopez is offline
Miembro
 
Registrado: ago 2003
Ubicación: Huelva
Posts: 76
Poder: 21
glopez Va por buen camino
Aún no he problado lo del procedimiento almacenador pero creo que funcionará bien, ¿Habría alguna forma de pasarle los campos mediante un parametro, sobre los que quiero hacer la consulta?.

Para llamarlo tedré que poner execute procedure ... no?
Responder Con Cita
  #5  
Antiguo 12-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El Store Procedure debe saber de antemano los parámetros de salida que usas, por tanto deben ser fijos.

Quizás podrías añadir una columna más en el grid, y programarlo en delphi.

El SP, lleva la palabra "suspend" por tanto es un SP de selección, que quiere decir que devuelve datos, por tanto hay que usarlo como si fuera una tabla más.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



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
Numero de registro dieleo SQL 5 19-01-2007 13:35:10
En que numero de registro estoy? josecristhian Conexión con bases de datos 1 18-12-2004 01:20:00
Número de registro jzk Conexión con bases de datos 10 05-07-2004 19:15:30
rave, numero de registro fjolivares Impresión 1 16-06-2004 01:46:40
Numero de registro en un TQuery ramiretor Conexión con bases de datos 9 29-09-2003 16:38:41


La franja horaria es GMT +2. Ahora son las 10:53:51.


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