¿ Como insertar null en campo fecha en SQL Server con sqlexec ?

546 views
Skip to first unread message

Juan Carlos Molina Castellanos

unread,
Feb 22, 2022, 2:38:48 PM2/22/22
to Comunidad de Visual Foxpro en Español

Saludos

Tengo un problema que debe ser muy sencillo de resolver por varios de ustedes, pero no lo he logrado,  cuando realizo un update a una tabla y la variable está vacia, porque el usuario no lleno ese dato, lo cual es correcto, ya que si no tiene una fecha válida debiese quedar como 
null    
En la Base de Datos, sin embargo se guarda como  1900-01-01 00:00:00.000  
Me piden usar el sqlexec y no vistas remotas de fox.
¿ Como puedo mandar el valor Null a la base SQL Server con  sqlexec  ?

Mi código es algo así:


vsUpTest = "UPDATE TABLA SET fec_registro = '" + vsFecReg + "', "
    vsUpTest = vsUpTest + " mor_fis = " + STR(vnMorfis) + ","
    vsUpTest = vsUpTest + " nombre = '" + ALLTRIM(thisformset.fclactestadd.edtNom.text)  
    vsUpTest = vsUpTest + " fec_otorga = '" + vsFecOto + "', "
    vsUpTest = vsUpTest + " otorgo_poder = '" + thisformset.fclactestadd.txtOtoPod.value + "', "
        vsUpTest = vsUpTest + " cargo = '" + thisformset.fclactestadd.txtCargo.value + "', "
        vsUpTest = vsUpTest + " notario  = '" + thisformset.fclactestadd.txtNot.value + "', "
    vsUpTest = vsUpTest + " notaria  = '" + thisformset.fclactestadd.txtNotaria.value + "', "
        vsUpTest = vsUpTest + " lugar  = '" + thisformset.fclactestadd.txtLug.value + "', "
        vsUpTest = vsUpTest + " nom_escrito = '" + thisformset.frmEscrito.txtNombreRazon.value + "', "
        vsUpTest = vsUpTest + " fec_escrito = '" + vsFecEsc + "', "
    vsUpTest = vsUpTest + " solicitante = '" + thisformset.frmEscrito.txtSolicitante.value + "', "
        vsUpTest = vsUpTest + " Observacion = '" + thisformset.frmObservaciones.Editboxsicj1.value + "' "
        vsUpTest = vsUpTest + " Where cve_region =" + STR(vgRegionTest) + " AND cve_sala =" + STR(vgSalaTest) + " AND cve_tabla =" + STR(vgLlave)
       
               
        viResUpdateTest = sqlexec(gnConnMain, vsUpTest , 'curUpTest')


El problema se presenta en los campos de fecha, como fec_escrito.

Gracias de Antemano.

        

ZeRoberto

unread,
Feb 22, 2022, 2:42:59 PM2/22/22
to publicesvfoxpro
UPDATE tabla SET Fecha = ?EVL(ldFecha, Null)

Saludos

Ze


--
Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/ae113769-e0f8-48bf-8d83-48d497f3965an%40googlegroups.com.

Cristian Novoa

unread,
Feb 22, 2022, 2:43:24 PM2/22/22
to Comunidad de Visual Foxpro en Español

lcSetPoint=SET("POINT")
SET POINT TO "."

TEXT TO lcSQL TEXTMERGE NOSHOW
        EXEC usp_EditaFormaPago '<<lcOperacion>>'
                                                        , '<<lcCodigo>>'
                                                        , <<goEntorno.crut_empresa>>
                                                        , '<<this.mipgf1.mipgf_pgf1.mipgf_pag2.mitxt_descripcion.txt1.Value>>'
                                                        , '<<lcControl>>'
                                                        , '<<IIF(this.mipgf1.mipgf_pgf1.mipgf_pag2.michk_ing_num_doc.chk1.Value, 1, 0)>>'
                                                        , '<<IIF(this.mipgf1.mipgf_pgf1.mipgf_pag2.michk_solo_al_cancelar.chk1.Value, 1, 0)>>'
                                                        , '<<IIF(llCtasConDifer, 1, 0)>>'
                                                        , <<IIF(! ISNULL(lcCuenta), "'"+lcCuenta+"'", "NULL")>>
                                                        , <<IIF(! ISNULL(lcCuenta2), "'"+lcCuenta2+"'", "NULL")>>
                                                        , '<<IIF(this.mipgf1.mipgf_pgf1.mipgf_pag2.michk_desactivada.chk1.Value, 1, 0)>>'
ENDTEXT

SET POINT TO (lcSetPoint)

Viktor

unread,
Feb 22, 2022, 8:03:49 PM2/22/22
to publice...@googlegroups.com
Si el campo es null,  checa si la variable viene vacía, inserta el fecha vacía con ctod("'//")


--

Germán Fabricio Valdez

unread,
Feb 22, 2022, 8:44:52 PM2/22/22
to Comunidad de Visual Foxpro en Español
Debes configurar con managemen studio permitir nulos en el campo fecha.

Drspues usas el set nulldisplay "sin datos"

Replace fecha with null
Reply all
Reply to author
Forward
0 new messages