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 12-09-2018
Sir16 Sir16 is offline
Registrado
 
Registrado: sep 2018
Posts: 8
Poder: 0
Sir16 Va por buen camino
Update con checkbox liveBindings

Buenos dias,

estoy usando livebindings para hacer una conexion con los diferentes componentes, he intentando hacer un dataset.post con el elemento checkbox me salta error, alguien puede echarme un cable de cual puede ser el problema?
Código Delphi [-]
procedure btnGuardarFamiliaClick(Sender: TObject);
var agrupacion,faltaValor :boolean; 
begin 
  agrupacion := ckAgrupacionFamilia.Checked; // dbModConfiguracionTPV => tDataModule // dsFamiliasPantallaConfig => tAdoQuery 
  dbModConfiguracionTPV.dsFamiliasPantallaConfig.Edit; 
  if (dbModConfiguracionTPV.dsFamiliasPantallaConfigagrupacion = nil) then 
  begin 
    missatge := missatge +#13+ ' Seleccion de agrupación.'; 
    faltaValor := true; 
  end 
  else if dbModConfiguracionTPV.dsFamiliasPantallaConfigagrupacion.Value <> agrupacion then 
  begin 
    dbModConfiguracionTPV.dsFamiliasPantallaConfigagrupacion.Value := agrupacion; 
  end; 
  if faltaValor then 
  begin 
    application.MessageBox(pwideChar(missatge),'Atención',mb_ok or mb_iconInformation); 
  end 
  else 
  begin 
    dbModConfiguracionTPV.dsFamiliasPantallaConfig.Post; 
  end; 
end;
podria ser que como el campo en sql es un bit, delphi me devuelve el valor -1 al estar en estado de cheked y ahi esta el error? en caso de eso hay algun modo de poder arreglar eso, o que componente me remonendarian usar, ya que he provado tambien el tDBCheckBox pero no me queda muy claro como usarlo ya que en valueChecked le tengo true y tengo el mismo error
gracias de antemano.

Última edición por Casimiro Notevi fecha: 12-09-2018 a las 13:50:33.
Responder Con Cita
  #2  
Antiguo 12-09-2018
Avatar de mRoman
mRoman mRoman is offline
Miembro
 
Registrado: nov 2003
Posts: 599
Poder: 21
mRoman Va por buen camino
Hola....

Me parece que DBCheckBox en la propiedad que mencionas ValueChecked, le puedes cambiar a numeros.....por default tiene TRUE o FALSE no recuerdo, pero lo puedes borrar y le escribes numeros....no tengo delphi a la mano para confirmar lo q te comento.

Chécalo...espero no equivocarme y si es así, espero te sirva mi comentario.
__________________
Miguel Román

Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !!
Responder Con Cita
  #3  
Antiguo 12-09-2018
Sir16 Sir16 is offline
Registrado
 
Registrado: sep 2018
Posts: 8
Poder: 0
Sir16 Va por buen camino
Cita:
Empezado por mRoman Ver Mensaje
Hola....

Me parece que DBCheckBox en la propiedad que mencionas ValueChecked, le puedes cambiar a numeros.....por default tiene TRUE o FALSE no recuerdo, pero lo puedes borrar y le escribes numeros....no tengo delphi a la mano para confirmar lo q te comento.

Chécalo...espero no equivocarme y si es así, espero te sirva mi comentario.

Gracias por tan pronta respuesta.


Es correcto lo que me mencionas, el problema que me encuentro es que si le pongo los valores 0 o 1 me encuentro que me los detecta como integer y me da error al introducirlos ya que solo permite valor boleano.
La opción que me estoy viendo, es que tendre que cambiar el tipo de valor del sql de bit a tinyint para poder guardar el numérico, de esta forma con el dbCheckBox lo podre usar, per implica modificar la lectura del valor de este campo en las otras tablas que lo usa.
Responder Con Cita
  #4  
Antiguo 13-09-2018
Sir16 Sir16 is offline
Registrado
 
Registrado: sep 2018
Posts: 8
Poder: 0
Sir16 Va por buen camino
Buscando mas información respeto al tema, me encuentro que si le añado la linea siguiente



Código Delphi [-]
 dbModConfiguracionTPV.dsFamiliasPantallaConfigAgrupacion.ReadOnly := false;


No me salta el error pero tampoco me guarda el dato modificado.

A que puede ser debido eso?
Responder Con Cita
  #5  
Antiguo 13-09-2018
Sir16 Sir16 is offline
Registrado
 
Registrado: sep 2018
Posts: 8
Poder: 0
Sir16 Va por buen camino
buenas, he descubierto el motivo por el que no guardaba los datos.
Resulta que en el procedimiento en uno de los campos tenia lo siguiente
Código SQL [-]
isnull(agrupacion,0) agrupacion

esto es lo que me hacia que al intentar guardar mer comentara que era un campo de lectura, por lo que haciento el procedure del adoQuery sin esta comprovacion me funciono correctamente.


Gracias por las contestaciones, y espero que le sirva a alguen en el futuro de este error mio.
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
LiveBindings y ComboBox josepicd FireMonkey 0 02-07-2018 20:24:22
Usando Livebindings dinamicamente lbidi Varios 4 25-02-2017 23:33:34
Flechas tipo livebindings muli OOP 1 16-01-2015 11:09:18
TListBoxItem y LiveBindings PacoPepe FireMonkey 0 25-08-2014 19:36:08
MySQL ClientDataSet y LiveBindings... MaGNa Conexión con bases de datos 1 09-03-2014 23:23:20


La franja horaria es GMT +2. Ahora son las 20:13: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