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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-10-2005
i_berbeu i_berbeu is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
i_berbeu Va por buen camino
Datos por defecto en un DBGrid

Pues eso, me gustaria saber como poner datos por defecto en un DBGrid. me explico:

yo pongo un DBGrid en un form y lo relaciono con una tabla.
entonces lo que quiero es que ciertos campos de la tabla, por defecto tengan un determinado valor y al crear una fila nueva en el DBGrid, me aparezca ese campo (Field) con ese valor dado

el caso es que no puedo usar DEFAULT dentro de la definicion de la tabla ya que yo tengo en realidad 2 DBGrid que hacen cada uno una consulta sobre la misma tabla y cada una da un valor por defecto a un campo en concreto.

Tambien a ver si sabeis como dar un valor especifico (ya no por defecto) a los campos de una nueva fila en un DBGrid

Gracias. espero haberme explicado
Responder Con Cita
  #2  
Antiguo 15-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Utiliza 2 TTables, una para cada Grid.

Doble clic a la tabla, añades todos los campos y ahora configuras desde delphi, y para cada tabla, el valor que quieres por defecto.

Para la segunda pregunta, usa el evento OnNewRecord de cada tabla, y ahí le das a los campos el valor que desees (por código).

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

Última edición por Lepe fecha: 15-10-2005 a las 15:29:22.
Responder Con Cita
  #3  
Antiguo 15-10-2005
i_berbeu i_berbeu is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
i_berbeu Va por buen camino
lo que pasa es que yo uso Querys en vez de tablas. es decir

tengo una tabla con un campo tipo. y dos DBGrid en los que quiero mostrar:

en el DBGrid1, los registros de la tabla que tienen el campo Tipo=1, para lo que uso un Query (select * from Tabla where Tipo=1)

y en el DBGrid2, los registros de la misma tabla con Tipo=2 para lo que uso otro Query (select * from Tabla where Tipo=2)

no se si asi vale lo que me has dicho porque uso Querys y no tablas.
a ver si puedes confirmarme esto.

Gracias
Responder Con Cita
  #4  
Antiguo 15-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Dependerá del motor de bases de datos que uses, si son RequestLive, etc.

Lo dicho para el TTable, tambien sirve para el TQuery, haz la prueba.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 16-10-2005
i_berbeu i_berbeu is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
i_berbeu Va por buen camino
uso paradox7 y requestlive

pero... como se ponen los valores por defecto con delphi??
Responder Con Cita
  #6  
Antiguo 16-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Para que funcione, solo puedes usar en tu query un select de una sola tabla, y en el Evento OnNewRecord de ese query, le das los valores que quieras a los campos.

query1.Fieldbyname('Tipo').AsInteger := 1;

saludos (que conste que no lo he probado).
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 17-10-2005
i_berbeu i_berbeu is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
i_berbeu Va por buen camino
todavia no lo he probado pero me da toda la pinta de que es asi, estoy seguro

es que yo probaba con
Query1.Fieldbyname('Tipo').value=1

pero no me iba, el .value no me daba problemas pero luego el =1 parece que si. yo usaba el .asinteger para sacarlo pero no lo habia pensado para cambiar el valor

voy a probarlo y te cuento.
Muchas Gracias
Responder Con Cita
  #8  
Antiguo 17-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
En principio no tiene por qué haber problemas. Value es de tipo Variant, por tanto, se puede leer y escribir directamente en él sin conocer el tipo del campo, (otra cosa es que se le de un valor incorrecto como por ejemplo 'a')

AsInteger, se le está diciendo el tipo de dato, es más concreto y eficiente ya que no usa conversiones Variants innecesarias.

De ambas formas debería funcionar.

Es mas si das doble clic a tu query y con el boton derecho añades tus campos (añades los campos de forma persistente). Ya puedes usar otra expresión más para acceder a los campos y sería:

Query1Tipo.AsInteger := 1;

(notese que entre "Query1" y "Tipo" no hay ningun punto), de esta forma estamos accediendo directamente al campo sin buscarlo en el Query.


saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 17-10-2005
i_berbeu i_berbeu is offline
Miembro
 
Registrado: sep 2005
Posts: 23
Poder: 0
i_berbeu Va por buen camino
Pues lo del value no me funcionaba
Bueno la verdad es que yo uso c++ builder pero todo lo que he preguntado aqui y me habeis respondido y todo lo q he visto en este foro me ha funcionado. mas que nada lo pregunto aqui por qu de los q he visto este es el foro que mejor me ha resutado para mis dudas

Con el value me daba un error porque la base de datos no estaba abierta (o algo asi, no lo recuerdo bien ahora mismo). pero con AsInteger me funciona a la perfeccion. Muchas gracias por la aclaracion de en q consiste el value, se agradece

Gracias Lepe por todo!!!!!!
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 15:45:20.


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