Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2010, 15:18
koke84
 
Fecha de Ingreso: septiembre-2010
Mensajes: 4
Antigüedad: 14 años, 6 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