Boletín mugperu Digital - Julio 2009!
  Search 
Thursday, February 09, 2012 ..:: Foros de Discusión ::.. Register  Login
Foros MUGPERU Minimize
Subject: Guardar DateTime como null
Prev Next
You are not authorized to post a reply.

Author Messages
eleditor
Posts:0

16/10/2006 10:29 AM  
Saludos:
Estoy conactado a una BD en SQLServer y guardando datos desde un formulario, los datos los obtengo de TextBox y lo asigno a parametros, la idea es:

Dim cn As New SqlConnection("server=(local);uid=sa;database=miBD")
Dim com As New SqlCommand("Insert into Products value(@var1,@var2), cn)
com.Parameters.Add(
New SqlParameter("@var1", SqlDbType.Char))
com.Parameters("@var1").Value = TextBox1.Text
com.Parameters.Add(New SqlParameter("@var2", SqlDbType.DateTime))
com.Parameters("@var2").Value = TextBox1.Text
con.Open()
com.ExecuteNonQuery()
cn.Close()
cn.Dispose()

Una de las variable es de tipo DateTime y admite valores 'Null', el unico campo obligatorio es el primero (el Id), todos los otros campos cargan sin problema menos el de DateTime como si fuera obligatorio ingresar datos ¿Que estoy havciendo mal?
De antemano gracias por su ayuda.

Jmestas
Posts:115

17/10/2006 10:10 AM  
lo ke pasa es ke le estas pasando una cadena vacia a un tipo datetime, no le estas pasando un null :S, maneja esto desde un sp, ke te controle si el parametro para el datetime es null o no

Saludos
DENSOFT
Posts:92

18/10/2006 08:55 AM  
hola eleditor, ese nick que quiere decir?.
bueno doctore como te dicen en el post anterior puedes hacerlo desde un procedure o de lo contrario en tu formulario debes preguntar si el text es vacio envia null (DBNull.value)
son unas cosillas que causan incovenientes.
saludos,  cualquier cosa avisas y si resolvio tambien avisas.
DENSOFT
eleditor
Posts:0

27/10/2006 10:16 AM  
Gracias por sus respuestas, he probado algunas cosas pero en cuanto a enviar el null no encuentro la sintaxis adecuada, seria algo asi como:
Si mi text1.text="" then @miParametro=DBNull.Value
Ah! y lo de 'eleditor' fue por una cuestion laboral (edicion) que se convirtio en costumbre y ya me quedo como un nick
DENSOFT
Posts:92

30/10/2006 07:44 AM  

Hola, claro lo q dices esta bien es algo asi:

if texto1.text=" " then

cmd.parameter(@campo).Value=DBNull.Value
else
cmd.parameter(@campo).Value=texto1.text
end if

P.D si tu texto no esta vacio debes convertir tu texto1.text a DateTime.

saludos y avisas como te fue.

eleditor
Posts:0

04/11/2006 09:37 AM  
Gracias por la ayuda.
x_Jhofran_x
Posts:18

13/11/2006 01:45 PM  
Hola eleditor esta bien lo de trabajar con DBNull.Value
y tambien esta bien lo que dice DENSOFT pero me parece que eso de estar programando en varias lineas no va pudiendo hacerla en una ahi va el ejemplo:

com.Parameters("@var2").Value = IIf(TextBox1.Text="", DBNull.Value,ctype(TextBox1.Text,date))

espero lo apliques.
You are not authorized to post a reply.
Forums > Temas de Interés > Usando ADO.NET > Guardar DateTime como null



ActiveForums 3.7
        
Copyright 2001-2012 MUGPERU   Terms Of Use  Privacy Statement