FoxPro/Visual FoxPro - insertar registro en mysql

 
Vista:
sin imagen de perfil

insertar registro en mysql

Publicado por victor perez (278 intervenciones) el 09/10/2010 07:36:36
Amigos,

Me encontrè con un problema que no puedo resolver.

Tengo un formulario que capta los datos de mis nuevos pacientes y los agrega a la TABLA patient.

Hay un campo denominado Nacimiento, donde coloco la fecha de nacimiento del paciente.

Antes de ese campo hay unos 5 campos y luego de este hay otros 10 o mas.

Si por alguna razon dejo este campo en blanco, entonces no me graba el registro.

Alguna idea del por que ocurre esto?

Adicional, hay campos que no tengo que introducir datos pues , por ejemplo, telefono , si no tiene telefono lo dejo en blanco y al agregar el registro me aparece "NULL" cuando extraigo la informacion. Como hago para que no aparezca "NULL" en los campos que dejo en blanco? Otro ejemplo es Lugar de Trabajo, pues si no trabaja, debo dejarlo en blanco y entonces aparece "NULL"

Alguna idea de que es lo que està ocurriendo? sobretodo el hecho del asunto de Nacimiento.

Tambien he observado que el codigo que uso para migrar la base actual en VFP a Mysql si un registro tiene el campo nacimiento en blanco, no migra ese registro.

Que debo hacer con esos campos que son tipo DATE.

Cualquier informacion, bienvenida...la mayoria de mis tablas tienen por lo menos un campo DATE.

Saludos y espero sus comentarios.

Victor,
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:insertar registro en mysql

Publicado por ACM (162 intervenciones) el 09/10/2010 19:27:47
Hola victor

Cuando empese tambien tube ese problema.

Como estas trabjando las tablas como innodb o myisam segun lo que estube leyendo se recomiendo innodb para uso de sistemas si es para pagina web myisam, innodb trabaja mejor con tablas en transacciones.

al trabajar con innodb las campos cuandos se graban en blanco no quedan como null y de esta forma te evitas de validar los campos con null.

supongo que tu campo de fecha esta como date por eso tiene problemas que al dejarlo en blando lo esta dejando como null y no te realiza la operacion.

yo cambie la tablas a innodb y todo ok

espero te sirva victor

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
sin imagen de perfil

RE:insertar registro en mysql

Publicado por victor perez (278 intervenciones) el 12/10/2010 02:57:48
Hola ACM,

Mis tablas estan como Innodb...asi que no creo que este sea el problema.

Ahora si, el campo Nacimiento es usado para calcular una variable llamada "EDAD". No se si alli este el problema. He tratado de resolverlo haciendo que el sistema antes de grabar verifique que este campo NACIMIENTO no este nulo y a los otros campos que involucran FECHAS como FirstOrder y LastOrder le he asignado valores prefijados, cuando el resgistro es nuevo.

Asi,

If _Nuevo
If empty(Thisform.nacimiento.value)
MessageBox("LA fecha de nacimiento no puede dejarse en Blanco". "Aviso")
Thisform.nacimiento.setfocus
Return 0
EndIf
m.Firstorder=date()
m. lastorder=date()
EndIf

Asi he solucionado este problema. Lo de Null al hacer la practica introduciendo un nuevo registro, ya no me aparece...lo que dejo en blanco, simplemente queda en blanco.

Ahora, otra pregunta, al migrar una DBF de VFP a MySQL que tiene campos en blancos, cuando se hace la migracion, se reemplazara ese campo com " " o como NULL ?

Todas mis tablas tienen este campo pues es el que corresponde para conocer si una Factura, un Recibo, etc ha sido borrado...Se borra de la base pero no se elimina 100%, como medida de control.

Saludos y espero tu y sus comentarios.

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:insertar registro en mysql

Publicado por ACM (162 intervenciones) el 12/10/2010 05:12:37
Hola Victor

Haber cuando crea la estructura yo trabajo com phpadmin hay una columna donde indica si el campo es null yo lo dejo como no null, y no tengo problemas con los null ya que hay que estar validando y los campo fecha los graba si estan en blanco con 000-00-00 y al migrar mis tablas las campos vacio los deja en blanco verifica eso.

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
sin imagen de perfil

RE:insertar registro en mysql

Publicado por victor perez (278 intervenciones) el 12/10/2010 05:51:04
Exacto. Yo uso el administrador de mysql e igual...pongo los campos como not null.

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