Foros del Web » Programando para Internet » ASPX (.net) »

Form con campos no obligatorios ...

Estas en el tema de Form con campos no obligatorios ... en el foro de ASPX (.net) en Foros del Web. Buenas a todas y a todos.... Pues estoy haciendo un formulario en ASP.Net, utilizo VWD y Access. El formulario tiene algunos campos que no es ...
  #1 (permalink)  
Antiguo 28/08/2008, 12:49
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Form con campos no obligatorios ...

Buenas a todas y a todos....

Pues estoy haciendo un formulario en ASP.Net, utilizo VWD y Access.

El formulario tiene algunos campos que no es obligatorio que el usuario llene, como le hago para que access me acepte los campos en blanco?

Al estar haciendo pruebas, si lleno todos campos del formulario y le doy enviar, no hay problema y me guarda en la BD los datos...... pero si dejo en blanco un campo no obligatorio, me muestra un error despues de dar enviar.

Este es el error: Data type mismatch in criteria expression.

En la base de datos, el unico campo obligatorio es ID, pero ese es automatico.

Saludos y gracias
  #2 (permalink)  
Antiguo 28/08/2008, 13:11
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Form con campos no obligatorios ...

tu codigo como estas haciendo el insert.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 28/08/2008, 16:02
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Form con campos no obligatorios ...

Hola, este es mi codigo de insert, son puros parametros....
Código:
Protected Sub Enviar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Enviar.Click
        Using conn As New OleDbConnection(Me.AccessDataSource9.ConnectionString)
            Dim cmd As New OleDbCommand(Me.AccessDataSource9.InsertCommand, conn)
            conn.Open()
            cmd.Parameters.AddWithValue("@requerimiento", Me.DDL_Requerimiento.SelectedValue)
            cmd.Parameters.AddWithValue("@alteracion", Me.TB_AlteracionODC.Text)
            cmd.Parameters.AddWithValue("@requisitor", Me.TB_Requisitor.Text)
            cmd.Parameters.AddWithValue("@telefono", Me.TB_Telefono1.Text)
            cmd.Parameters.AddWithValue("@fecha", Me.TB_Fecha1.Text)
            cmd.Parameters.AddWithValue("@proveedor", Me.TB_Proveedor.Text)
            cmd.Parameters.AddWithValue("@contacto", Me.TB_Contacto.Text)
            cmd.Parameters.AddWithValue("@moneda", Me.RBL_moneda.SelectedValue)
            cmd.Parameters.AddWithValue("@costo", Me.TB_CostoEstimado.Text)
            cmd.Parameters.AddWithValue("@duns", Me.TB_Duns.Text)
            cmd.Parameters.AddWithValue("@telefonoprov", Me.TB_Tel2.Text)
            cmd.Parameters.AddWithValue("@workorder", Me.TB_WorkOrder.Text)
            cmd.Parameters.AddWithValue("@numproyecto", Me.TB_NumProyecto.Text)
            cmd.Parameters.AddWithValue("@paradepartamento", Me.DDL_Depto.Text)
            cmd.Parameters.AddWithValue("@partida1", Me.TB_par1.Text)
            cmd.Parameters.AddWithValue("@partida2", Me.tb_par2.Text)
            cmd.Parameters.AddWithValue("@partida3", Me.tb_par3.Text)
            cmd.Parameters.AddWithValue("@partida4", Me.tb_par4.Text)
            cmd.Parameters.AddWithValue("@partida5", Me.tb_par5.Text)
            cmd.Parameters.AddWithValue("@desc1", Me.tb_desc1.Text)
            cmd.Parameters.AddWithValue("@desc2", Me.tb_desc2.Text)
            cmd.Parameters.AddWithValue("@desc3", Me.tb_desc3.Text)
            cmd.Parameters.AddWithValue("@desc4", Me.tb_desc4.Text)
            cmd.Parameters.AddWithValue("@desc5", Me.tb_desc5.Text)
            cmd.Parameters.AddWithValue("@quimico1", Me.CB_quimico1.Text)
            cmd.Parameters.AddWithValue("@quimico2", Me.CB_quimico2.Text)
            cmd.Parameters.AddWithValue("@quimico3", Me.CB_quimico3.Text)
            cmd.Parameters.AddWithValue("@quimico4", Me.CB_quimico4.Text)
            cmd.Parameters.AddWithValue("@quimico5", Me.CB_quimico5.Text)
            cmd.Parameters.AddWithValue("@unidadmedida1", Me.DDL_unidad1.SelectedValue)
            cmd.Parameters.AddWithValue("@unidadmedida2", Me.DDL_unidad2.SelectedValue)
            cmd.Parameters.AddWithValue("@unidadmedida3", Me.DDL_unidad3.SelectedValue)
            cmd.Parameters.AddWithValue("@unidadmedida4", Me.DDL_unidad4.SelectedValue)
            cmd.Parameters.AddWithValue("@unidadmedida5", Me.DDL_unidad5.SelectedValue)
            cmd.Parameters.AddWithValue("@cantidadrequerida1", Me.TB_cant1.Text)
            cmd.Parameters.AddWithValue("@cantidadrequerida2", Me.TB_cant2.Text)
            cmd.Parameters.AddWithValue("@cantidadrequerida3", Me.TB_cant3.Text)
            cmd.Parameters.AddWithValue("@cantidadrequerida4", Me.TB_cant4.Text)
            cmd.Parameters.AddWithValue("@cantidadrequerida5", Me.TB_cant5.Text)
            cmd.Parameters.AddWithValue("@preciounitario1", Me.TB_PUni1.Text)
            cmd.Parameters.AddWithValue("@preciounitario2", Me.TB_PUni2.Text)
            cmd.Parameters.AddWithValue("@preciounitario3", Me.TB_PUni3.Text)
            cmd.Parameters.AddWithValue("@preciounitario4", Me.TB_PUni4.Text)
            cmd.Parameters.AddWithValue("@preciounitario5", Me.TB_PUni5.Text)
            cmd.Parameters.AddWithValue("@total1", Me.TB_Total1.Text)
            cmd.Parameters.AddWithValue("@total2", Me.TB_Total2.Text)
            cmd.Parameters.AddWithValue("@total3", Me.TB_Total3.Text)
            cmd.Parameters.AddWithValue("@total4", Me.TB_Total4.Text)
            cmd.Parameters.AddWithValue("@total5", Me.TB_Total5.Text)
            cmd.Parameters.AddWithValue("@centrocostos1", Me.DDL_CCostos1.SelectedValue)
            cmd.Parameters.AddWithValue("@centrocostos2", Me.DDL_CCostos2.SelectedValue)
            cmd.Parameters.AddWithValue("@centrocostos3", Me.DDL_CCostos3.SelectedValue)
            cmd.Parameters.AddWithValue("@centrocostos4", Me.DDL_CCostos4.SelectedValue)
            cmd.Parameters.AddWithValue("@centrocostos5", Me.DDL_CCostos5.SelectedValue)
            cmd.Parameters.AddWithValue("@total", Me.TB_Total.Text)
            cmd.Parameters.AddWithValue("@cuentaGL1", Me.DDL_CtaGL1.SelectedValue)
            cmd.Parameters.AddWithValue("@cuentaGL2", Me.DDL_CtaGL2.SelectedValue)
            cmd.Parameters.AddWithValue("@cuentaGL3", Me.DDL_CtaGL3.SelectedValue)
            cmd.Parameters.AddWithValue("@cuentaGL4", Me.DDL_CtaGL4.SelectedValue)
            cmd.Parameters.AddWithValue("@cuentaGL5", Me.DDL_CtaGL5.SelectedValue)
            cmd.Parameters.AddWithValue("@comentarios", Me.TB_Comentarios.Text)
            cmd.Parameters.AddWithValue("@championcta", Me.DDL_Champion.SelectedValue)
            cmd.Parameters.AddWithValue("@fechaprobchamp", Me.TB_Fecha2.Text)
            cmd.Parameters.AddWithValue("@aprobfinanzas", Me.DDL_AprobacionFinanzas.SelectedValue)
            cmd.Parameters.AddWithValue("@fechaprobfinanzas", Me.TB_Fecha4.Text)
            cmd.Parameters.AddWithValue("@aprobmontosmayores", Me.DDL_AutorizacionMonto.SelectedValue)
            cmd.Parameters.AddWithValue("@fechaprobmontosmayores", Me.TB_Fecha3.Text)
            cmd.Parameters.AddWithValue("@aprobquimicos", Me.DDL_AprobacionQuimicos.SelectedValue)
            cmd.Parameters.AddWithValue("@fechapobquimicos", Me.TB_Fecha5.Text)
            cmd.ExecuteNonQuery()
        End Using
Y este es mi sentencia:

Código:
INSERT INTO ODC(requerimiento, alteracion, requisitor, telefono, fecha, proveedor, contacto, moneda, costo, duns, telefonoprov, workorder, numproyecto, paradepartamento, partida1, partida2, partida3, partida4, partida5, desc1, desc2, desc3, desc4, desc5, quimico1, quimico2, quimico3, quimico4, quimico5, unidadmedida1, unidadmedida2, unidadmedida3, unidadmedida4, unidadmedida5, cantidadrequerida1, cantidadrequerida2, cantidadrequerida3, cantidadrequerida4, cantidadrequerida5, preciounitario1, preciounitario2, preciounitario3, preciounitario4, preciounitario5, total1, total2, total3, total4, total5, centrocostos1, centrocostos2, centrocostos3, centrocostos4, centrocostos5, Total, cuentaGL1, cuentaGL2, cuentaGL3, cuentaGL4, cuentaGL5, cometarios, championcta, fechaprobchamp, aprobfinanzas, fechaprobfinanzas, aprobmontosmayores, fechaprobmontosmayores, aprobquimicos, fechapobquimicos) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
  #4 (permalink)  
Antiguo 28/08/2008, 16:36
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Form con campos no obligatorios ...

yo se que es cansado pero porq le pones ? en vez del identificador que definiste en tus parametros.

digo el problema que tienes es q talvez estes queriendo insertar un no se string en una fecha o tipos no compatibles, puedes ir haciendolo asi porq el problema esta en eso no es otra cosa.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 29/08/2008, 08:49
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Form con campos no obligatorios ...

gracias por tu ayuda.....

pero.... porque cuando lleno el formulario completo y darle enviar si se va? si hubiera un problema con la compatibilidad de los campos me marcaria un error, no crees?

Saludos
  #6 (permalink)  
Antiguo 29/08/2008, 10:05
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Form con campos no obligatorios ...

estas probando cada vez con los mismos datos??
quien te garantiza que el string vacio de tbfecha no sea el que este fallando. porq no usar un datetime picker o convertir ese valor a datetime
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 30/08/2008, 18:48
Avatar de Valery-Net  
Fecha de Ingreso: agosto-2008
Mensajes: 694
Antigüedad: 15 años, 8 meses
Puntos: 12
Respuesta: Form con campos no obligatorios ...

Coincido con Peterpay, el problema está relacionado con los tipos de datos en el caso de fechas,
  #8 (permalink)  
Antiguo 02/09/2008, 08:47
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Form con campos no obligatorios ...

Gracias por su aportaciones....

Cambie todos los campos numericos y de fecha, por campos de texto en la base de datos, y en el formulario deje toooodddooss los campos en blanco.....

Y si funciona bien.... tienen razon, el envio de datos desde el formulario se estan llendo todos como string.......

Como le hago para que los campos de fecha se vayan como fecha y los de numeros como numeros?


Muchas gracias
  #9 (permalink)  
Antiguo 02/09/2008, 09:40
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 7 meses
Puntos: 87
Respuesta: Form con campos no obligatorios ...

depende pero necesitas hacer conversiones

Int.Parse(stringdeentrada)
DateTime.Parse

o usar

Convert.ToTipoquenecesites(string)
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #10 (permalink)  
Antiguo 09/09/2008, 13:59
 
Fecha de Ingreso: noviembre-2003
Mensajes: 209
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Form con campos no obligatorios ...




Sigo con mi problema, ....

En los campos que no son obligatorios, son numericos y de fecha, al dejarlos en blanco me manda un error de:

Error al convertir el tipo de datos nvarchar a numeric.

y es porque al dejar en blanco el campo numerico no obligatorio, el sistema piensa o toma el valor en blanco como texto o string e intenta insertarlo en la BD.

Que puedo hacer para que no lo tome asi?, he insertado datos directamente en la BD, dejando los campos no obligatorios en blanco e ingresa el registro sin problema.

Muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:17.