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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-06-2011
MLROJO MLROJO is offline
Miembro
 
Registrado: jul 2004
Ubicación: Granada
Posts: 26
Poder: 0
MLROJO Va por buen camino
Actualizar campo con dblookupcombobox

Hola a todos,

Os comento, estoy intentando hacer algo que pensaba que era simple y veo que se me atranca..

Tengo tres TQuerys con sus respectivos TDataSource, cada uno hace referencia a una tabla (categorias, codigos, gestionDocumental).

He creado un formulario para crear registros que se guardarán en la tabla gestionDocumental donde mediante un dblookupcombobox puedo alimentar tanto el código como la categoria, y mediante TDBEdits los demas campos.

Cuando creo un nuevo registro, selecciono en los dblookupcombobox el valor que quiero, es decir, la categoria y codigo donde quiero asignar el registro, informo los demás campos y guardo sin problema.

El problema lo tengo cuando intento modificar uno de estos campos (categoria o codigo), ya que cuando selecciono otro registro en el dblookupcombobox, cancela la edición del que estoy editando y crea un nuevo registro.

Supongo que se me estará escapando algun parámetro o alguna opción, porque aunque hasta ahora nunca habia usado el dblookupcombox supongo que permitirá hacer lo que comento, pero como digo, en algo fallo.

Los parámetros que he configurado en cada dblookupcombox son:

DataField : Campo de la tabla gestionDocumental, es decir, de la tabla donde quiero guardar el registro
Datasource : Datasource que hace referencia a la tabla de gestión documental.

KeyField : Clave del campo que quiero mostrar, es decir, lo que se guardará realmente en la base de datos en la tabla de gestionDocumental
ListField : Campo que quiero mostrar de la tabla (codigos, categorias)
ListSource : DataSource que hace referencia al campo del cual quiero mostrar los registros existentes (categoria, codigos)

¿Alguna idea?

Muchas gracias,

Saludos.
Responder Con Cita
  #2  
Antiguo 10-06-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 18
Chris Va por buen camino
Parece cómo que el problema que tienes es en los ListDatasource, o mejor dicho, las tablas de dónde los TDBLookupCombo's obtienen sus datos. Revisa si hay alguna relación maestro detalle en ellas o algo por el estilo. Además revisa los eventos OnAfterScroll, OnBeforeScroll o algo similar. A cómo lo muestras, las configuraciones del Datasource y ListSource están a cómo deben ser.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 10-06-2011
MLROJO MLROJO is offline
Miembro
 
Registrado: jul 2004
Ubicación: Granada
Posts: 26
Poder: 0
MLROJO Va por buen camino
Hola de nuevo,

Como bien dices, la query está con maestro detalle con otra ya que son las que uso en toda la aplicación. Suponía que valían las mismas, pero parece que no, probaré creando consultas independientes a ver si ese es el problema.

Ya os diré que tal.

Gracias,

Saludos.
Responder Con Cita
  #4  
Antiguo 12-06-2011
MLROJO MLROJO is offline
Miembro
 
Registrado: jul 2004
Ubicación: Granada
Posts: 26
Poder: 0
MLROJO Va por buen camino
Hola de nuevo,

Finalmente creé los lookups con consultas que no tienen ninguna vinculación y así funciona correctamente.

Gracias,

Saludos.
Responder Con Cita
  #5  
Antiguo 18-06-2011
waly2k1 waly2k1 is offline
Miembro
 
Registrado: dic 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 251
Poder: 18
waly2k1 Va por buen camino
Controles enlazados a datos

Yo personalmente trabajo y sugiero trabajar con controles NO enlazados a
datos, los dblockupcombobox uso solo con las propiedades de listsource y
no datasource y usando keyvalue para posicionar el elemento, los cuadros
de textos son edit comunes o equivalente en otros componentes y no DBEdit.
La inserción, actualización y eliminación las realizo por SQL siempre, ya sea
ejecutando consultas con parametros o Stored Procedures.
Mas de una vez te generan problemas las actualizaciones con controles
enlazados sobre todo en base de datos "profesionales".
Es preferible llevar uno el control de la aplicación y no depender de ciertos
objetos, manejar las transacciones y si todo sale bien commit sino rollback
y no que queden actualizaciones a medias y/o registros huérfanos.

En fin, es mi humilde opinión y sugerencia.
Saludos y exitos!
Walter
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Actualizar un DBLookupComboBox pkbza Conexión con bases de datos 7 17-08-2017 05:10:59
DBLookupComboBox con mas de un campo xeBuz Conexión con bases de datos 3 14-04-2008 03:51:42
Campo en DbLookupComboBox hcalero Conexión con bases de datos 3 21-08-2007 18:23:25
Visualizar mas de un campo en un DBLookupComboBox .... chileno Conexión con bases de datos 1 05-08-2006 19:56:24
+ de un campo mostrado en un DBLooKupComboBox pallyJD Conexión con bases de datos 3 10-07-2006 22:58:55


La franja horaria es GMT +2. Ahora son las 16:56:46.


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