Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-07-2005
Avatar de mamsantos
mamsantos mamsantos is offline
Miembro
 
Registrado: abr 2005
Ubicación: Cáceres (España)
Posts: 15
Poder: 0
mamsantos Va por buen camino
Recoger valor campo autonumerico

Hola.
Vereis, estoy intentando recoger el máximo valor de un campo autonumérico para mostrarlo en un componente de tipo Edit, y no se muy bien como hacerlo.
La idea es que cada vez que añado un nuevo elemento a la BD me aparece un formulario para rellenar sus datos, y uno de los datos a rellenar es el identificador del elemento, que es autonumérico y que por tanto no tengo que rellenar yo, sino que tengo que tomar el valor de la BD y mostrarlo en el correspodiente campo Edit del formulario.

Puedo deciros que he creado un componente dbQuery y en él he hecho la consulta "select max(nombre_columna) from nombre_tabla", con lo cual obtengo el valor que tengo que mostrar, pero no se como hacer para mostrar ese valor obtenido en el componente Edit pertinente. De hecho no se si voy bien encaminado o eso no es necesario hacerlo.

Gracias y saludos.
Responder Con Cita
  #2  
Antiguo 26-07-2005
Johnny Q Johnny Q is offline
Miembro
 
Registrado: may 2005
Ubicación: Colombia
Posts: 172
Poder: 19
Johnny Q Va por buen camino
Hola

Pues en delphi para Windows funciona asi:

edit1.text := NombreQueryNombreCampo.ToString;

Saludos...
Responder Con Cita
  #3  
Antiguo 27-07-2005
Avatar de mamsantos
mamsantos mamsantos is offline
Miembro
 
Registrado: abr 2005
Ubicación: Cáceres (España)
Posts: 15
Poder: 0
mamsantos Va por buen camino
Hola.
Me temo, Jonnhy Q, que ese código no me vale, ya que después del nombre del dbQuery lo que tengo que poner es alguna de las funciones que tiene asociado ese componente. He estado mirando todas las que trae, pero no consigo obtener ese dichoso valor.
Gracias y saludos.
Responder Con Cita
  #4  
Antiguo 27-07-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
edit1.text := NombreQueryNombreCampo.Value;
Lo que te dice Johnny Q, funcionará con campos persistentes, es decir si has hecho doble clic en el componente Tquery y luego añadido los campos al editor.

Sino como solamente vas a obtener un campo:
Código Delphi [-]
 edit1.text := NombreQuery.Fields[0].AsString;
 


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 27-07-2005
Johnny Q Johnny Q is offline
Miembro
 
Registrado: may 2005
Ubicación: Colombia
Posts: 172
Poder: 19
Johnny Q Va por buen camino
No entiendo porque dices que tienes que poner algunas de las funciones asociadas al Query.

Si yo creo un Query que hace referencia a la tabla Proveedores y a sus campos Codigo y Nombre, por citar un ejemplo entonces lo que hago es invocar el campo directamente.

Cuando se activa autocompletar de código que trae delphi, si yo quiero invocar el campo Codigo del query Proveedores me debe mostrar en algun momento:
qryProveedorCodigo
y el resto ya depende de lo que se necesite. No se si en Kylix funcione muy diferente a Win32, pero no creo.

Saludos....
Responder Con Cita
  #6  
Antiguo 27-07-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Pero eso solo es cuando creas campos persistentes, tal y como comenta mi tocayo zorrilla. De otra forma se usaría:
Código Delphi [-]
Edit1.Text := NombreQuery.FieldByName('NombreCampo').AsString; // o .Value
O si el campo requerido en el query es solo uno, se puede usar la forma usada por marcoszorrilla.


Saludos...
Responder Con Cita
  #7  
Antiguo 27-07-2005
Avatar de mamsantos
mamsantos mamsantos is offline
Miembro
 
Registrado: abr 2005
Ubicación: Cáceres (España)
Posts: 15
Poder: 0
mamsantos Va por buen camino
Hola.
Muchas gracias a todos, por vuestra ayuda.
Al final es como dice marcoszorrilla. Aunque me ha seguido dando dolores de cabeza. No se porque aun haciendolo así
Código:
  edit1.text := NombreQuery.Fields[0].AsString;
me daba un error de que me salía fuera de los límites de la lista, es decir, que el campo[0] no existia, hasta que se me hincharon y al final borre el query y lo volvi a hacer, con lo cual el fallo debía estar ahí.
De nuevo gracias a todos y saludos.
__________________
Lo que ha sido es lo que es, lo que es es lo que será, no hay nada nuevo bajo el Sol.
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


La franja horaria es GMT +2. Ahora son las 18:06:23.


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