Página 1 de 1

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Vie May 05, 2006 11:18 am
por pablogarciau
Como tengo entendido que MySQL no maneja campos de tipo Logico incluyo en
una de mis tablas un campo como tipo TINYINT(1) con valor default a 0, ese
campo lo tengo ligado a un TDBCheckbox en un formulario, el comportamiento
al abrir el formulario es normal, es decir, si el valor es 0 el TDBCheckbox
aparece desmarcado y si el valor del campo es 1 me aparece marcado, el
problema es cuando modifico el TDBCheckbox (Cambio el estado), al hacer el
oDDBDataSource:update() me genera un error y no hace cambio alguno.
Es correcto que utilize el tipo TINYINT a falta del LOGIC ?
por otr parte, en esa misma tabla tengo un campo tipo DATE(), con valor
default 00-00-0000, y en el formulario lo tengo ligado a un TDBDatePicker,
pero me marca errores al hacer el update si el campo tiene una fecha NULA,
por cierto que como es un campo que utilizo para la fecha de baja de
empleados es necesario que permanezca asi hasta la renuncia del empleado,
alguna idea de que hacer al respecto ?
Gracias de antemano y saludos

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Vie May 05, 2006 3:27 pm
por ignacio
Juan Pablo,
> Es correcto que utilize el tipo TINYINT a falta del LOGIC ?
Si lo es. Que error recibes exactamente? Nos puedes mandar el error.log
> por otr parte, en esa misma tabla tengo un campo tipo DATE(), con valor
> default 00-00-0000, y en el formulario lo tengo ligado a un TDBDatePicker,
> pero me marca errores al hacer el update si el campo tiene una fecha NULA,
> por cierto que como es un campo que utilizo para la fecha de baja de
> empleados es necesario que permanezca asi hasta la renuncia del empleado,
> alguna idea de que hacer al respecto ?
El control TDbDatePicker tiene una propiedad lCheckBox para permitir fechas
nulas. Has intentado usarla?
Un saludo
"Juan Pablo Garcia" <pablogarciau@msn.com> escribió en el mensaje
news:[email=445b187d@ozsrvnegro.ozlan.local...]445b187d@ozsrvnegro.ozlan.local...[/email]
> Como tengo entendido que MySQL no maneja campos de tipo Logico incluyo en
> una de mis tablas un campo como tipo TINYINT(1) con valor default a 0, ese
> campo lo tengo ligado a un TDBCheckbox en un formulario, el comportamiento
> al abrir el formulario es normal, es decir, si el valor es 0 el
> TDBCheckbox aparece desmarcado y si el valor del campo es 1 me aparece
> marcado, el problema es cuando modifico el TDBCheckbox (Cambio el estado),
> al hacer el oDDBDataSource:update() me genera un error y no hace cambio
> alguno.
>
> Es correcto que utilize el tipo TINYINT a falta del LOGIC ?
>
> por otr parte, en esa misma tabla tengo un campo tipo DATE(), con valor
> default 00-00-0000, y en el formulario lo tengo ligado a un TDBDatePicker,
> pero me marca errores al hacer el update si el campo tiene una fecha NULA,
> por cierto que como es un campo que utilizo para la fecha de baja de
> empleados es necesario que permanezca asi hasta la renuncia del empleado,
> alguna idea de que hacer al respecto ?
>
> Gracias de antemano y saludos
>
>
>

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Sab May 06, 2006 12:54 am
por pablogarciau
Ignacio este es el error con respecto al TDBCheckBox
Te agradezco tu ayuda
***************************** Registro de errores
*****************************
Fecha: 05/05/06
Hora: 16:51:23
Memoria libre: 1474260
Area actual: 1
------------------------- Información del
compilador --------------------------
Versión Xailer: Xailer 0.99.7 Pre-release 7a
Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
Compilador C/C++: Borland C++ 5.5.1
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del
error -----------------------
Subsistema: BASE
Código de error: 1099
Estado: .F.
Descripción: Argument error
Operación: STR
Argumentos: [ 1] = Tipo: L Valor: .T. [ 2] = Tipo: N Valor:
2 [ 3] = Tipo: N Valor: 0
Fichero:
Código error SO: 0
Pila de llamadas:
STR (0)
TODBCDATASET:GENUPDATE (901)
TODBCDATASET:UPDATE (688)
TFORM1:OPTIONLIST1ITEM1CLICK (84)
TOPTIONITEM:ONCLICK (0)
TOPTIONITEM:CLICK (265)
TOPTIONLIST:WMLBUTTONDOWN (0)
RUNFORM (0)
TAPPLICATION:RUN (189)
MAIN (16)
------------------ Información detallada de áreas de
trabajo ------------------
Area: 1
Alias: XA_DATASET
Registro: 2
Filtro:
Relación:
Orden del índice: 0
Clave activa: 0
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote in message
news:445b52b7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Juan Pablo,
>
>> Es correcto que utilize el tipo TINYINT a falta del LOGIC ?
>
> Si lo es. Que error recibes exactamente? Nos puedes mandar el error.log
>
>> por otr parte, en esa misma tabla tengo un campo tipo DATE(), con valor
>> default 00-00-0000, y en el formulario lo tengo ligado a un
>> TDBDatePicker, pero me marca errores al hacer el update si el campo tiene
>> una fecha NULA, por cierto que como es un campo que utilizo para la fecha
>> de baja de empleados es necesario que permanezca asi hasta la renuncia
>> del empleado, alguna idea de que hacer al respecto ?
>
> El control TDbDatePicker tiene una propiedad lCheckBox para permitir
> fechas nulas. Has intentado usarla?
>
> Un saludo
>
> "Juan Pablo Garcia" <pablogarciau@msn.com> escribió en el mensaje
> news:[email=445b187d@ozsrvnegro.ozlan.local...]445b187d@ozsrvnegro.ozlan.local...[/email]
>> Como tengo entendido que MySQL no maneja campos de tipo Logico incluyo en
>> una de mis tablas un campo como tipo TINYINT(1) con valor default a 0,
>> ese campo lo tengo ligado a un TDBCheckbox en un formulario, el
>> comportamiento al abrir el formulario es normal, es decir, si el valor es
>> 0 el TDBCheckbox aparece desmarcado y si el valor del campo es 1 me
>> aparece marcado, el problema es cuando modifico el TDBCheckbox (Cambio el
>> estado), al hacer el oDDBDataSource:update() me genera un error y no hace
>> cambio alguno.
>>
>> Es correcto que utilize el tipo TINYINT a falta del LOGIC ?
>>
>> por otr parte, en esa misma tabla tengo un campo tipo DATE(), con valor
>> default 00-00-0000, y en el formulario lo tengo ligado a un
>> TDBDatePicker, pero me marca errores al hacer el update si el campo tiene
>> una fecha NULA, por cierto que como es un campo que utilizo para la fecha
>> de baja de empleados es necesario que permanezca asi hasta la renuncia
>> del empleado, alguna idea de que hacer al respecto ?
>>
>> Gracias de antemano y saludos
>>
>>
>>
>
>

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Sab May 06, 2006 5:37 am
por pablogarciau
y en cuanto a los campos de fecha en campos de MySQL typo DATE, y
enlazandolos al control TDBDateEdit, obtengo el siguiente error:
***************************** Registro de errores
*****************************
Fecha: 05/05/06
Hora: 21:34:59
Memoria libre: 1483448
Area actual: 1
------------------------- Información del
compilador --------------------------
Versión Xailer: Xailer 0.99.7 Pre-release 7a
Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
Compilador C/C++: Borland C++ 5.5.1
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del
error -----------------------
Subsistema: BASE
Código de error: 1132
Estado: .F.
Descripción: Bound error
Operación: array access
Argumentos: [ 1] = Tipo: A Valor: [ 2] = Tipo: N Valor: 0
Fichero:
Código error SO: 0
Pila de llamadas:
GETDATESQL (1062)
TODBCDATASET:GENUPDATE (907)
TODBCDATASET:UPDATE (688)
TFORM1:OPTIONLIST1ITEM1CLICK (84)
TOPTIONITEM:ONCLICK (0)
TOPTIONITEM:CLICK (265)
TOPTIONLIST:WMLBUTTONDOWN (0)
RUNFORM (0)
TAPPLICATION:RUN (189)
MAIN (16)
------------------ Información detallada de áreas de
trabajo ------------------
Area: 1
Alias: XA_DATASET
Registro: 2
Filtro:
Relación:
Orden del índice: 0
Clave activa: 0

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Lun May 08, 2006 4:53 pm
por ignacio
Juan Pablo,
Visto el error. Estoy trabajando en ello. Espero tenerlo cuanto antes.
Gracias.
Un saludo,
"Juan Pablo Garcia" <pablogarciau@msn.com> escribió en el mensaje
news:[email=445bd7cc@ozsrvnegro.ozlan.local...]445bd7cc@ozsrvnegro.ozlan.local...[/email]
> Ignacio este es el error con respecto al TDBCheckBox
> Te agradezco tu ayuda
>
> ***************************** Registro de errores
> *****************************
>
> Fecha: 05/05/06
> Hora: 16:51:23
> Memoria libre: 1474260
> Area actual: 1
>
> ------------------------- Información del
> compilador --------------------------
>
> Versión Xailer: Xailer 0.99.7 Pre-release 7a
> Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
> Compilador C/C++: Borland C++ 5.5.1
> Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
>
> ----------------------- Información detallada del
> error -----------------------
>
> Subsistema: BASE
> Código de error: 1099
> Estado: .F.
> Descripción: Argument error
> Operación: STR
> Argumentos: [ 1] = Tipo: L Valor: .T. [ 2] = Tipo: N Valor: 2 [ 3] =
> Tipo: N Valor: 0
> Fichero:
> Código error SO: 0
>
> Pila de llamadas:
> STR (0)
> TODBCDATASET:GENUPDATE (901)
> TODBCDATASET:UPDATE (688)
> TFORM1:OPTIONLIST1ITEM1CLICK (84)
> TOPTIONITEM:ONCLICK (0)
> TOPTIONITEM:CLICK (265)
> TOPTIONLIST:WMLBUTTONDOWN (0)
> RUNFORM (0)
> TAPPLICATION:RUN (189)
> MAIN (16)
>
> ------------------ Información detallada de áreas de
> trabajo ------------------
>
> Area: 1
> Alias: XA_DATASET
> Registro: 2
> Filtro:
> Relación:
> Orden del índice: 0
> Clave activa: 0
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote in message
> news:445b52b7$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Juan Pablo,
>>
>>> Es correcto que utilize el tipo TINYINT a falta del LOGIC ?
>>
>> Si lo es. Que error recibes exactamente? Nos puedes mandar el error.log
>>
>>> por otr parte, en esa misma tabla tengo un campo tipo DATE(), con valor
>>> default 00-00-0000, y en el formulario lo tengo ligado a un
>>> TDBDatePicker, pero me marca errores al hacer el update si el campo
>>> tiene una fecha NULA, por cierto que como es un campo que utilizo para
>>> la fecha de baja de empleados es necesario que permanezca asi hasta la
>>> renuncia del empleado, alguna idea de que hacer al respecto ?
>>
>> El control TDbDatePicker tiene una propiedad lCheckBox para permitir
>> fechas nulas. Has intentado usarla?
>>
>> Un saludo
>>
>> "Juan Pablo Garcia" <pablogarciau@msn.com> escribió en el mensaje
>> news:[email=445b187d@ozsrvnegro.ozlan.local...]445b187d@ozsrvnegro.ozlan.local...[/email]
>>> Como tengo entendido que MySQL no maneja campos de tipo Logico incluyo
>>> en una de mis tablas un campo como tipo TINYINT(1) con valor default a
>>> 0, ese campo lo tengo ligado a un TDBCheckbox en un formulario, el
>>> comportamiento al abrir el formulario es normal, es decir, si el valor
>>> es 0 el TDBCheckbox aparece desmarcado y si el valor del campo es 1 me
>>> aparece marcado, el problema es cuando modifico el TDBCheckbox (Cambio
>>> el estado), al hacer el oDDBDataSource:update() me genera un error y no
>>> hace cambio alguno.
>>>
>>> Es correcto que utilize el tipo TINYINT a falta del LOGIC ?
>>>
>>> por otr parte, en esa misma tabla tengo un campo tipo DATE(), con valor
>>> default 00-00-0000, y en el formulario lo tengo ligado a un
>>> TDBDatePicker, pero me marca errores al hacer el update si el campo
>>> tiene una fecha NULA, por cierto que como es un campo que utilizo para
>>> la fecha de baja de empleados es necesario que permanezca asi hasta la
>>> renuncia del empleado, alguna idea de que hacer al respecto ?
>>>
>>> Gracias de antemano y saludos
>>>
>>>
>>>
>>
>>
>
>

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Lun May 08, 2006 8:26 pm
por ignacio
Juan Pablo,
Le mando con este correo el módulo corregido para que lo añada como un
programa más dentro de su proyecto. Espero que le funcione correctamente.
Gracias por su colaboración y disculpe por las molestias.
Un saludo,
"Juan Pablo Garcia" <pablogarciau@msn.com> escribió en el mensaje
news:[email=445c1a15@ozsrvnegro.ozlan.local...]445c1a15@ozsrvnegro.ozlan.local...[/email]
>y en cuanto a los campos de fecha en campos de MySQL typo DATE, y
> enlazandolos al control TDBDateEdit, obtengo el siguiente error:
> ***************************** Registro de errores
> *****************************
>
> Fecha: 05/05/06
> Hora: 21:34:59
> Memoria libre: 1483448
> Area actual: 1
>
> ------------------------- Información del
> compilador --------------------------
>
> Versión Xailer: Xailer 0.99.7 Pre-release 7a
> Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
> Compilador C/C++: Borland C++ 5.5.1
> Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
>
> ----------------------- Información detallada del
> error -----------------------
>
> Subsistema: BASE
> Código de error: 1132
> Estado: .F.
> Descripción: Bound error
> Operación: array access
> Argumentos: [ 1] = Tipo: A Valor: [ 2] = Tipo: N Valor: 0
> Fichero:
> Código error SO: 0
>
> Pila de llamadas:
> GETDATESQL (1062)
> TODBCDATASET:GENUPDATE (907)
> TODBCDATASET:UPDATE (688)
> TFORM1:OPTIONLIST1ITEM1CLICK (84)
> TOPTIONITEM:ONCLICK (0)
> TOPTIONITEM:CLICK (265)
> TOPTIONLIST:WMLBUTTONDOWN (0)
> RUNFORM (0)
> TAPPLICATION:RUN (189)
> MAIN (16)
>
> ------------------ Información detallada de áreas de
> trabajo ------------------
>
> Area: 1
> Alias: XA_DATASET
> Registro: 2
> Filtro:
> Relación:
> Orden del índice: 0
> Clave activa: 0
>
>


Attached files OdbcDataSet.rar (8.7 KB)Â

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Mar May 09, 2006 3:24 am
por pablogarciau
Ignacio:
Quedo perfecto, mil gracias por tu ayuda
Saludos

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Jue Ene 11, 2007 10:10 am
por pablogarciau
Los molesto de nuevo con la misma cuestion, el caso es que ya se habia
corregido y ahora con el cambio de version de Xailer me vuelve a
presentar el problema de los TDBCheckBox, anexo el Error Log
Gracias por sus atenciones
***************************** Registro de errores
*****************************
Fecha: 11/01/2007
Hora: 02:07:03
Memoria libre: 573976
Area actual: 3
------------------------- Información del compilador
--------------------------
Versión Xailer: Xailer 1.2.1 Version 1.2a
Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
Compilador C/C++: Borland C++ 5.5.1
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del error
-----------------------
Subsistema: BASE
Código de error: 1070
Estado: .F.
Descripción: Argument error
Operación: ==
Argumentos: [ 1] = Tipo: L Valor: .T. [ 2] = Tipo: N Valor: 1
Fichero:
Código error SO: 0
Pila de llamadas:
TDATAFIELD:VARPUT (118)
TDBCHECKBOX:UPDATEDATA (76)
(b)TODBCDATASET:UPDATE (664)
AEVAL (0)
TODBCDATASET:UPDATE (664)
TFORMART:MANTENEDITAR (213)
(b)TFORMART:CREATEFORM (80)
TDBBROWSE:ONDBLCLICK (0)
TDBBROWSE:WMLBUTTONDBLCLK (2035)
RUNFORM (0)
TAPPLICATION:RUN (208)
MAIN (15)
------------------ Información detallada de áreas de trabajo
------------------
Area: 1
Alias: XA_DATASET
Registro: 4
Filtro:
Relación:
Orden del í­ndice: 1
Clave activa: 1
Area: 2
Alias: XA_DATASE0
Registro: 1
Filtro:
Relación:
Orden del í­ndice: 0
Clave activa: 0
Area: 3
Alias: XA_DATASE1
Registro: 1
Filtro:
Relación:
Orden del í­ndice: 0
Clave activa: 0

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Jue Ene 11, 2007 10:47 am
por ignacio
Juan Pablo,
Acabo de hacer una prueba y aquí funciona perfectamente. Le mando un
proyecto que lógicamente tendrá que tocar para adaptarlo a su servidor SQL.
Recuerde definir como campo tipo BIT el que vaya a utilizar para el
DBCheckBox.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Juan Pablo Garcia" <pablogarciau@msn.com> escribió en el mensaje
news:[email=45a5ff09@news.xailer.com...]45a5ff09@news.xailer.com...[/email]
> Los molesto de nuevo con la misma cuestion, el caso es que ya se habia
> corregido y ahora con el cambio de version de Xailer me vuelve a
> presentar el problema de los TDBCheckBox, anexo el Error Log
>
> Gracias por sus atenciones
>
> ***************************** Registro de errores
> *****************************
>
> Fecha: 11/01/2007
> Hora: 02:07:03
> Memoria libre: 573976
> Area actual: 3
>
> ------------------------- Información del compilador
> --------------------------
>
> Versión Xailer: Xailer 1.2.1 Version 1.2a
> Compilador: xHarbour build 0.99.61 Intl. (SimpLex) PCode Version: 7
> Compilador C/C++: Borland C++ 5.5.1
> Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
>
> ----------------------- Información detallada del error
> -----------------------
>
> Subsistema: BASE
> Código de error: 1070
> Estado: .F.
> Descripción: Argument error
> Operación: ==
> Argumentos: [ 1] = Tipo: L Valor: .T. [ 2] = Tipo: N Valor: 1
> Fichero:
> Código error SO: 0
>
> Pila de llamadas:
> TDATAFIELD:VARPUT (118)
> TDBCHECKBOX:UPDATEDATA (76)
> (b)TODBCDATASET:UPDATE (664)
> AEVAL (0)
> TODBCDATASET:UPDATE (664)
> TFORMART:MANTENEDITAR (213)
> (b)TFORMART:CREATEFORM (80)
> TDBBROWSE:ONDBLCLICK (0)
> TDBBROWSE:WMLBUTTONDBLCLK (2035)
> RUNFORM (0)
> TAPPLICATION:RUN (208)
> MAIN (15)
>
> ------------------ Información detallada de áreas de trabajo
> ------------------
>
> Area: 1
> Alias: XA_DATASET
> Registro: 4
> Filtro:
> Relación:
> Orden del índice: 1
> Clave activa: 1
>
> Area: 2
> Alias: XA_DATASE0
> Registro: 1
> Filtro:
> Relación:
> Orden del índice: 0
> Clave activa: 0
>
> Area: 3
> Alias: XA_DATASE1
> Registro: 1
> Filtro:
> Relación:
> Orden del índice: 0
> Clave activa: 0


Attached files MySql.zip (2 KB)Â

Problema con Campos logicos en MySQL y TDBCheckbox

Publicado: Jue Ene 11, 2007 10:53 pm
por pablogarciau
Gracias Ignacio, con redefinir el campo de TINYINT (que antes
funcionaba) a BIT que do solucionado.
Mil gracias por tu tiempo