Principales respuestas
CONTINUA ERROR AL GUARDAR DATAGRIDVIEW CON EL CAMPO FECHA

Pregunta
-
-
HOLA BUENAS NOCHESsigo teniendo problemas para guardar mis datos del datagridview en la tabla listacuotasprestamosESTE ES EL CODIGO QUE TENGO:If cuotasDataGridView.Rows.Count = 0 ThenMessageBox.Show("No hay informacion para guardar")ReturnEnd IfUsing conn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\FONSOCAM.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")conn.Open()Dim sql As String = "INSERT INTO listacuotasprestamo(nrodocumento, cedula, " & _"cuotaNo, Capital, interes, " & _"fechavencimiento, cuotamensual) " & _"VALUES (@nrodocumento, @cedula, @cuotaNo, " & _"@Capital, @interes, @fechavencimiento, @cuotamensual)"Dim cmd As New SqlCommand(sql, conn)For Each row As DataGridViewRow In cuotasDataGridView.Rowscmd.Parameters.Clear()cmd.Parameters.AddWithValue("@nrodocumento", CStr(row.Cells(0).Value))cmd.Parameters.AddWithValue("@cedula", CStr(row.Cells(1).Value))cmd.Parameters.AddWithValue("@cuotaNo", CStr(row.Cells(2).Value))cmd.Parameters.AddWithValue("@Capital", CStr(row.Cells(3).Value))cmd.Parameters.AddWithValue("@interes", CStr(row.Cells(4).Value))Dim fecha As Nullable(Of Date) = NothingDateTime.TryParse(row.Cells(5).Value, fecha)If fecha.HasValue Thencmd.Parameters.AddWithValue("@fechavencimiento", fecha.Value)Elsecmd.Parameters.AddWithValue("@fechavencimiento", DBNull.Value)End If
cmd.Parameters.AddWithValue("@cuotamensual", CStr(row.Cells(6).Value))cmd.ExecuteNonQuery()NextMessageBox.Show("Info. guardada correctamente")End UsingEnd SubEL ERROR PASADO FUE ERROR AL CONVERTIR CADENA A DATETIME , AHORA MODIFIQUE CODIGO YME ESTA MOSTRANDO ESTE ERROR EN ESTA LINEA : DateTime.TryParse(row.Cells(5).Value, fecha)EL OBJETO QUE ACEPTA VALORES NULL DEBE TENER UN VALOR.VUELVO Y REPITO NO ENTIENDO A QUE SE REFIERE SI EL CAMPO FECHA TIENE UN VALOR NULL, Y SE HA PROGRAMADO EN CASO DE QUE LO TENGA O NO TIENE FECHA. SIN EMBARGO COMO SON FECHAS CALCULADAS PUES SIEMPRE VA A TENER UN VALOR...ACLARO QUE YA PUSE EN EL CAMPO FECHA VENCIMIENTO DE LA TABLA PERMITIR VALORES NULOS..PERO NO SE QUE ES LO QUE PASA SI EN EL DATAGRID ME ARROJA TODAS LAS FECHAS SEGUN EL NUMERO DE CUOTAS, POR ESO NO HAY VALORES NULOS ALLI..MIRE LA CONFIGURACION DE LA FECHA DEL SISTEMA POR SI ALGO, Y ESTA EN ESPAÑOL "DD,MM,AAAA", NO SE SI ESTO SERA INCONVENIENTE POER EL ERROR Q ME VOTABA DE DESBORDAMIENTO...POR FAVOR AYUDENME PARA PODER SOLUCIONAR ESTE PROBLEMILLA QUE NO ME HA DEJADO SEGUIR CON MI PROYECTO!!GRACIAS-
-
Respuestas
-
hola
prueba algo como esto
Dim fecha As Nullable(Of Date) = Nothing
Dim fechaTemp As DateTime
If DateTime.TryParse(row.Cells(5).Value, fechaTemp) Then
fecha = fechaTemp
End If
If fecha.HasValue Then
cmd.Parameters.AddWithValue("@fechavencimiento", fecha.Value)
Else
cmd.Parameters.AddWithValue("@fechavencimiento", DBNull.Value)
End Ifel tema ma parece es que el TryParse no asigna directo a un nulable
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Nicoloco martes, 7 de junio de 2011 14:43
- Marcado como respuesta cristi2281 domingo, 14 de agosto de 2011 4:30
Todas las respuestas
-
hola
prueba algo como esto
Dim fecha As Nullable(Of Date) = Nothing
Dim fechaTemp As DateTime
If DateTime.TryParse(row.Cells(5).Value, fechaTemp) Then
fecha = fechaTemp
End If
If fecha.HasValue Then
cmd.Parameters.AddWithValue("@fechavencimiento", fecha.Value)
Else
cmd.Parameters.AddWithValue("@fechavencimiento", DBNull.Value)
End Ifel tema ma parece es que el TryParse no asigna directo a un nulable
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Nicoloco martes, 7 de junio de 2011 14:43
- Marcado como respuesta cristi2281 domingo, 14 de agosto de 2011 4:30
-
-