none
Error al insertar datos a MySql RRS feed

  • Pregunta

  • Que tal a todos.

    Tengo la siguiente consulta.

    En my BDD Mysql tengo dos tablas "asig_rutas" con los campos: "Id"Int20,"Empleado"Varchar20,"Nombre"Varchar50,"Ruta"Int4,"Turno"Varchar1".

    "cap_entrada" con los campos:

    "Id"Int20,"Empleado"Varchar20,"Leadcode"Varchar"12 y "Fecha_Hora"Timestamp.

    En mi WinForm primero valido que el empleado exista en mi tabla si existe entonces habilito un cuadro de texto donde se deben de capturar ciertos registros y enviarlos a la tabla cap_entrada. El problema es que no me queda el codigo para ingresar los datos. Anexo codigo que tengo en el TextBox:

    Private Sub TxtLeadcode_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtLeadcode.KeyPress
            Dim MiFecha As Date = #6/10/2011#
            Dim MiSql As String
            If e.KeyChar = ChrW(Keys.Enter) Then
                e.Handled = True
                Encontro = 0
                If conexion.State = ConnectionState.Closed Then
                    conexion.Open()
                End If
                MiSql = "Select * From cap_entrada"
                'sql = "SELECT * FROM cap_entrada"
                SqlB.Connection = conexion
                SqlB.CommandText = MiSql
                SqlB.CommandText = "insert into cap_entrada values(@0,@Empleado,@Leadcode)"
                'procedo a pasar los datos de los textbox a la variable para guardar
                SqlB.Parameters.Clear()
                SqlB.Parameters.AddWithValue("@Empleado", Me.TxtEmpleado.Text)
                SqlB.Parameters.AddWithValue("@Leadcode", Me.TxtLeadcode.Text)
                'SqlB.CommandText = "insert into cap_entrada values(@0,@Empleado,@Leadcode)"
                'SqlB
                Try
                    SqlB.ExecuteNonQuery()
                    MsgBox("Los datos del 'Empleado' se han guardado Correctamente..........! ", MsgBoxStyle.Information, "NOTIFICACIÓN")
                Catch ex As Exception
                    MsgBox("No es posible Guardar, Verifique! " & ex.Message, MsgBoxStyle.Critical, "ERROR")
                End Try
                conexion.Close()
                TxtLeadcode.Clear()
                TxtLeadcode.Focus()
                
            End If
        End Sub

    En el campo fecha_hora de la tabla "cap_entrada" la idea es que al ingresar un registro este se actualice autmaticamente por ello lo deje cmo :"CURRENT_TIMESTAMP".

    El error que me lanza es "Fatal error encountered during command execution"

    Us Win7 y Visual.NET 2010 

    Espero me puedan ayudar.

    Saludos DS.

    jueves, 3 de julio de 2014 16:29

Respuestas

  • La sintaxis de la sentencia SQL no es correcta, te falta la definición de los campos. Debe ser así:

    SqlB.CommandText = "insert into cap_entrada (Campo1, Campo2, Campo3) values (@ValorCampo1, @Empleado, @Leadcode)"

    ....

    y luego le asignas los valores con:

    SqlB.Parameters.AddWithValue("@ValorCampo1", 0)
    SqlB.Parameters.AddWithValue("@Empleado", Me.TxtEmpleado.Text)
    SqlB.Parameters.AddWithValue("@Leadcode", Me.TxtLeadcode.Text)



    Saludos, Javier J

    • Propuesto como respuesta Matías Kusack viernes, 4 de julio de 2014 8:20
    • Marcado como respuesta Dany Solis viernes, 4 de julio de 2014 12:45
    viernes, 4 de julio de 2014 6:53

Todas las respuestas

  • La sintaxis de la sentencia SQL no es correcta, te falta la definición de los campos. Debe ser así:

    SqlB.CommandText = "insert into cap_entrada (Campo1, Campo2, Campo3) values (@ValorCampo1, @Empleado, @Leadcode)"

    ....

    y luego le asignas los valores con:

    SqlB.Parameters.AddWithValue("@ValorCampo1", 0)
    SqlB.Parameters.AddWithValue("@Empleado", Me.TxtEmpleado.Text)
    SqlB.Parameters.AddWithValue("@Leadcode", Me.TxtLeadcode.Text)



    Saludos, Javier J

    • Propuesto como respuesta Matías Kusack viernes, 4 de julio de 2014 8:20
    • Marcado como respuesta Dany Solis viernes, 4 de julio de 2014 12:45
    viernes, 4 de julio de 2014 6:53
  • Muchas Gracias.

    Cambie la sentencia SQL y funciona de maravilla.

    Excelente gracias por tu apoyo.

    DS.


    Aprendiz de todos maestro de nadie. Saludos desde Cd. Juarez Chihuahua Mexico. DS.

    viernes, 4 de julio de 2014 12:47