|
|
|
|
|
 |
 |
 |
|
Foros MUGPERU
|
 |
 |
| 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. |
|
|
|
ActiveForums 3.7
|
 |
 |
 |
 |
|
|
|
|
|
|
|
|
|