FoxPro/Visual FoxPro - Campos logicos en MySQL

   
Vista:

Campos logicos en MySQL

Publicado por victor perez (278 intervenciones) el 30/09/2010 23:00:34
Amigos,

Tengo una Tabla que contiene campos logicos "T" y "F".

Al crear la tabla en MySQL como declaro el tipo de Dato ? TinyInt(1) ?

Al pasar la data de Foxpro a MySQL como reemplazo estos campos, le digo que cambie el campo con valor "F" por 0 y "T" por 1?

Si declaro el campo como TinyInt(1) aceptara la F y la T al migrar la base de dato desde foxpro?

Saludos y espero sus comentarios
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Campos logicos en MySQL

Publicado por Gabriel Sánchez (112 intervenciones) el 30/09/2010 23:29:40
Sería Bit ó Boolean.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos logicos en MySQL

Publicado por ACM (162 intervenciones) el 01/10/2010 03:24:39
Hola Victor

En mysql no existe el campo logico, asi que tiene que emular creando un campo int character o tyinit y debes guardar un valor con 2 estado, yo utilizo un int(1)

para guarda ejemplo

vvalor=iif(thisform.check1.value=1,1,0)
=sqlexec(xcon,""update tabla set campo= ?vvalor where condicion"

para leer

=sqlexec(xcon,"select * from tabla where condicion")

thisform.check1.value=iif(sqlresult,campo=1,1,0)

-------------------------------------------------------
si es alfanumerico

ejemplo

vvalor=iif(thisform.check1.value=1,"S","N")
=sqlexec(xcon,""update tabla set campo= ?vvalor where condicion"

para leer

=sqlexec(xcon,"select * from tabla where condicion")

thisform.check1.value=iif(sqlresult,campo="S",1,0)

Acm.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos logicos en MySQL

Publicado por victor perez (278 intervenciones) el 04/10/2010 03:03:31
Gracias ACM

Excelente tus explicaciones.

Victor,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos logicos en MySQL

Publicado por Juanma Cruz (508 intervenciones) el 04/10/2010 12:20:01
¿No sería más óptimo usar el tipo BIT? Sólo guarda 0 ó 1

Solo pregunto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos logicos en MySQL

Publicado por ACM (162 intervenciones) el 04/10/2010 15:03:51
Hola Juanma

Si Tambien se puede usar, Hay varios caminos para llegar a un Resultado.

Igual,deberias validar ya que en fox un campo logico se guarda como .t. o .f.

lo optimo es que funcione sin problema, ya sea cualquier camino que tomes.

Acm.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos logicos en MySQL

Publicado por victor perez (278 intervenciones) el 05/10/2010 02:47:22
Amigo,

Hice las conversiones respectivas. Es decir, al hacer el paso de mi tabla de fox a mysql donde hay campos logicos use la siguiente expresion:

C6= thisform.entrada.value
if C6
C66=1
else
C66=0
endif

Cuando ejecuto el comando SQLEXEC me pone en mi tabla de mysql el campo entrada como 1 si es verdadero y como 0 si es falso.

Hasta aqui todo bien...

Al hacer una consulta uso lo siguiente
THISFORM.CONECTA
SQLEXEC(LNHANDLE,"SELECT * FROM CAJA WHERE &_KEY","_CURMOVS")
SQLDISCONNECT(LNHANDLE)

THISFORM.PGFPEDS.PAGE2.LSTRECIBOS.RowSource="FECHA,DOC,FACTURA,CLIENTE,MEDCODE,MONTO,ENTRADA"

Al mostrar la informacion en el ListBox no me muestra nada en los campos entrada y salida, es decir, no me muestra los Ceros y Unos...y no se què debo hacer

Me ayudan.

Victor,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos logicos en MySQL

Publicado por VICTOR PEREZ (278 intervenciones) el 05/10/2010 03:11:15
Hola,

Ya lo solucione. Para que se vea bien en mi sistema al crear la tabla en mysql le puse como typo de dato BIT...

Asi si es "0" me muestra en mi consulta F y si es "1" me muestra T.

Victor,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Campos logicos en MySQL

Publicado por victor perez (278 intervenciones) el 06/10/2010 20:35:46
Hola,

Puse los campos Bit y al llamarlos desde el form de VFP ya salen logicos, no he tenido que cambiar nada.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar