Usuario
ERROR AL GUARDAR FECHA DE DATAGRIDVIEW EN UNA TABLA VB.NET 2005

Pregunta
-
HOLA
trabajo con visualbasic espress 2005
TENGO ESTE PROBLEMA AL GUARDAR EL DATAGRIDVIEW EN LA TABLA DE BD SQLEXPRESS 2005
ME GENERA ESTE ERROR;
Desbordamiento de SqlDateTime. Debe estar entre 1/1/1753 12:00:00 AM y 12/31/9999 11:59:59 PM.
BUENO EN ELDATAGRIDVIEW ME MUESTRA BIEN LA FECHA : EJEMPLO:
14/06/2011
BUENO POR AHI LEI QUE PARA EL SQL 2008 NO HAY ESTOS TIPOS DE PROBLEMAS PERO PARA VERS 2005 SI..
COMO PUEDO RESOLVER ESTA PARTE ... PARA QUE NO ME ARROJE ERROR
TE AGREGO EL CODIGO DE LA OPERACION DE FECHA DE VENCIMIENTO Y EL AGREGARLA EN EL DATAGRID
BOTON CALCULAR
Dim importe, interes As Double ' cantidad total del monto
Dim intervalo As Integer ' calcular en años
importe = CDbl(txtimporte.Text)
interes = CDbl(txtinteres.Text)
intervalo = CInt(NumericUpDown1.Value)
Textcapital.Text = CStr((importe / intervalo))
Textinteres.Text = CStr((importe / intervalo) * (interes / 100))
Textcm.Text = CStr((importe / intervalo)) + ((importe / intervalo) * (interes / 100))
Textpmototal.Text = CStr((importe * interes / 100) + (importe))
Dim fechainicio As DateTime = DateTimePicker1.Value
For cuotaNo As Integer = 1 To intervalo
Dim fechavencimiento As DateTime = fechainicio.AddMonths(cuotaNo)
Dim row As String() = New String() {Textnro.Text, Textcedula.Text, cuotaNo, Textcapital.Text, Textinteres.Text, fechavencimiento.ToString("dd/MM/yyyy"), Textcm.Text}
BOTON GUARDAR
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.Rows
cmd.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 DateTime
DateTime.TryParse(row.Cells(5).Value, fecha)
cmd.Parameters.AddWithValue("@fechavencimiento", fecha)
cmd.Parameters.AddWithValue("@cuotamensual", CStr(row.Cells(6).Value))
cmd.ExecuteNonQuery()
Next
MessageBox.Show("Info. guardada correctamente")
End Using
End Sub
cuotasDataGridView.Rows.Add(row)
Next
GRACIAS POR SU COLABORACION!!
Todas las respuestas
-
hola
pero has validado que la celda tenga una fecha correcta ?
porque no asignas una fecha por defecto
Dim fecha As As Nullable(Of Date) = Nothing
DateTime.TryParse(row.Cells(5).Value, fecha)If fecha.HasValue
cmd.Parameters.AddWithValue("@fechavencimiento", fecha.Value)Else
cmd.Parameters.AddWithValue("@fechavencimiento", DbNull.Value)
End If
entocnes sino viene fecha en null, o si esta esta en un formato incorrecto
eso si has que el campo en la tabla acepte valores nulos
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -