Foros del Web » Programación para mayores de 30 ;) » .NET »

Error al actualizar la fecha

Estas en el tema de Error al actualizar la fecha en el foro de .NET en Foros del Web. Hola a todos, les comento, estoy haciendo un programa en vb. net 2008 el cual me graba los decretos en una base de datos sql, ...
  #1 (permalink)  
Antiguo 22/09/2010, 15:18
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Error al actualizar la fecha

Hola a todos,

les comento, estoy haciendo un programa en vb. net 2008 el cual me graba los decretos en una base de datos sql, hasta ahi todo bien. Tengo un boton para actualizar una maskedtextbox mi problema es cuando quiero actualizar la fecha del maskedtextbox me arroja el siguiente error:

la conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo. Se terminó la instruccion.

el formato del maskedtextbox lo tengo en dd/MM/yyyy de las opciones del maskedtextbox que trae.

he aqui mi codigo

Código:
Imports System.Data
Imports System.Data.SqlClient


Public Class Decreto

    Inherits System.Windows.Forms.Form

      
    Private ooConexion As SqlConnection
    Private oConexion As SqlConnection
    Private oDataSet As DataSet
    Private oDataRead As SqlDataReader
    Private odrd As SqlDataReader
    Private oDataAdapter As SqlDataAdapter
  
    Function LimpiarDatos()
        Me.TextBox1.Text = ""
        Me.TextBox2.Text = ""
        Me.TextBox3.Text = ""
        Me.TextBox4.Text = ""
        Me.TextBox5.Text = ""
        Me.Fecha.Text = ""
        Me.MaskedTextBox2.Text = ""
        Me.MaskedTextBox1.Text = ""
        Me.TextBox6.Text = ""
        Me.TextBox7.Text = ""
    End Function

    Private Sub Decreto_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        oConexion = New SqlConnection
        oConexion.ConnectionString = _
        "Data Source=SISTEMAS; database=DOP; user id=administrador;password=napoleon"
        oDataAdapter = New SqlDataAdapter

        ooConexion = New SqlConnection
        ooConexion.ConnectionString = _
        "Data Source=SISTEMAS; database=DOP; user id=administrador;password=napoleon"
        oDataAdapter = New SqlDataAdapter

        Dim ocmdUpdate As New SqlCommand("update decreto set fecha_llegada = '" & MaskedTextBox1.Text & "'" & _
                                        "where Decreto_OP= '" & TextBox3.Text & "'", ooConexion)

       


        Dim ocmdInsercion As New SqlCommand("insert into Decreto" & _
                                           "(UG,Des_Direccion,N_Doc_UG,Decreto_OP,Fecha_Decreto,Año,Materia,Fecha_Salida,Cod_DptoSalida,Dpto_Salida) values(@UG,@Des_Direccion,@N_Doc_UG,@Decreto_OP,@Fecha_Decreto,@Año,@Materia,@Fecha_Salida,@Cod_DptoSalida,@Dpto_Salida)", oConexion)

        oDataAdapter = New SqlDataAdapter("select * from decreto", ooConexion)
        Dim cb As SqlCommandBuilder = New SqlCommandBuilder(oDataAdapter)
        oDataSet = New DataSet
        oDataAdapter.Fill(oDataSet, "decreto")
        Dim bn As Binding
        bn = New Binding("text", oDataSet, "decreto.Fecha_Llegada")
        Me.MaskedTextBox1.DataBindings.Add(bn)
        bn = Nothing

        Me.bmb = Me.BindingContext(oDataSet, "decreto")

        oDataAdapter.InsertCommand = ocmdInsercion
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@UG", SqlDbType.Int))
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@Des_Direccion", SqlDbType.VarChar))
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@N_Doc_UG", SqlDbType.Int))
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@Decreto_OP", SqlDbType.Int))
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@Fecha_Decreto", SqlDbType.DateTime))
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@Año", SqlDbType.VarChar))
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@Materia", SqlDbType.VarChar))
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@Fecha_Salida", SqlDbType.DateTime))
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@Cod_DptoSalida", SqlDbType.Int))
        oDataAdapter.InsertCommand.Parameters.Add _
        (New SqlParameter("@Dpto_Salida", SqlDbType.VarChar))

        oDataAdapter.UpdateCommand = ocmdUpdate
        oDataAdapter.UpdateCommand.Parameters.Add _
        (New SqlParameter("@Fecha_Llegada", SqlDbType.DateTime))

        Dim oCmdConsulta As New SqlCommand("select * from Decreto", oConexion)
        oDataAdapter.SelectCommand = oCmdConsulta
        oDataSet = New DataSet

        oConexion.Close()

        ooConexion.Close()

    End Sub
 

    End Sub


    Private Sub Grabar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Grabar.Click
        Dim iResultado As Integer

        oDataAdapter.InsertCommand.Parameters _
        ("@UG").Value = Me.TextBox1.Text
        oDataAdapter.InsertCommand.Parameters _
        ("@Des_Direccion").Value = Me.TextBox4.Text
        oDataAdapter.InsertCommand.Parameters _
        ("@N_Doc_UG").Value = Me.TextBox2.Text
        oDataAdapter.InsertCommand.Parameters _
        ("@Decreto_OP").Value = Me.TextBox3.Text
        oDataAdapter.InsertCommand.Parameters _
        ("@Fecha_Decreto").Value = Me.Fecha.Text
        oDataAdapter.InsertCommand.Parameters _
        ("@Año").Value = SelecAño.Año
        oDataAdapter.InsertCommand.Parameters _
        ("@Materia").Value = Me.TextBox5.Text
        oDataAdapter.InsertCommand.Parameters _
        ("@Fecha_Salida").Value = Me.MaskedTextBox2.Text
        oDataAdapter.InsertCommand.Parameters _
        ("@Cod_DptoSalida").Value = Me.TextBox6.Text
        oDataAdapter.InsertCommand.Parameters _
        ("@Dpto_Salida").Value = Me.TextBox7.Text


        oConexion.Open()
        iResultado = oDataAdapter.InsertCommand.ExecuteNonQuery()
        LimpiarDatos()
        oConexion.Close()

        MessageBox.Show("Datos Ingresados Correctamente:" & iResultado)

    End Sub
    Private Sub Limpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Limpiar.Click
        LimpiarDatos()
    End Sub


  

       Private Sub Actualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Actualizar.Click

        Dim iResultado As Integer

        oDataAdapter.UpdateCommand.Parameters _
        ("@Fecha_Llegada").Value = Me.MaskedTextBox1.Text

        ooConexion.Open()
        iResultado = oDataAdapter.UpdateCommand.ExecuteNonQuery()
        LimpiarDatos()
        ooConexion.Close()

        MessageBox.Show("Dato Actualizado Correctamente:" & iResultado)
    End Sub

End Class
ojala me pudiesen ayudar que he buscado por internet y no encuentro la forma de hacerlo.

De antemano muchas gracias
Saludos
Jorge
  #2 (permalink)  
Antiguo 28/09/2010, 15:24
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Error al actualizar la fecha

Hola disculpen el doble post, pero ya solucione el problema saque el codigo del load y lo puse en el boton y funciono sin ningun problema. Les dejo el codigo por si alguien le sirve

Código vb:
Ver original
  1. Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
  2.         ooConexion = New SqlConnection
  3.         ooConexion.ConnectionString = _
  4.         "Data Source=SISTEMAS; database=DOP; user id=administrador;password=napoleon"
  5.         oDataAdapter = New SqlDataAdapter
  6.         Dim sSQL As String
  7.         sSQL = "update decreto set fecha_llegada = '" & MaskedTextBox1.Text & "'" & _
  8.                                        "where Decreto_OP= '" & TextBox3.Text & "'"
  9.  
  10.         'crear comando
  11.        Dim oComando As New SqlCommand(sSQL, ooConexion)
  12.         oComando.Parameters.Add(New SqlParameter("@Fecha_Llegada", _
  13.         SqlDbType.DateTime))
  14.         oComando.Parameters("@Fecha_Llegada").Value = Me.MaskedTextBox1.Text
  15.        
  16.         Dim iResultado As Integer
  17.  
  18.         ooConexion.Open() ' abrir conexión
  19.        iResultado = oComando.ExecuteNonQuery() ' ejecutar comando
  20.        LimpiarDatos()
  21.         ooConexion.Close() ' cerrar conexión
  22.        MessageBox.Show("Registros modificados Correctamente:" & iResultado)
  23.  
  24.     End Sub

gracias de todas formas
saludos Jorge

Etiquetas: fechas
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 15:51.