Error al insertar datos VB

Lo que pasa e es que tengo las siguientes funciones, pero al tratar de insertar los datos me aparece el error que relsalto en negro y no se como corregirlo, ya he mirado las tablas SQL todo y no veo por ningún lado el error... Mil gracias...
Function Crearguia(ByVal NumeroGuia As Integer, ByVal CodigoDest As Integer, ByVal cantidad As Integer, ByVal CodigoProd As Integer, ByVal estado As String, ByVal codigoMens As Integer) As Boolean
Dim Conmydata As SqlConnection 'para conectar con la base datos'
Dim cmdselect As SqlCommand 'sqlcommand sirve para ejecutar una instruccion de sql'
Dim strsql As String ' strsql variable donde se almacena la intruccion a ejecutar'
strsql = "insert into Guia values ('" & NumeroGuia & "','" & CodigoDest & "','" & cantidad & "','" & CodigoProd & "','" & estado & "','" & codigoMens & "')"
Conmydata = New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("StrCon").ConnectionString)
cmdselect = New SqlCommand(strsql, Conmydata)
cmdselect.CommandType = CommandType.Text
Try
Conmydata. Open() 'intenta ejecutar la instrucción, si no puede arroja la excepción o el error'
cmdselect.ExecuteNonQuery()
Conmydata.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
y esta es el metodo:
Protected Sub btnRealizarCarga_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnRealizarCarga.Click
Try
Dim datos As New datos
Dim NumeroGuia As Integer
Dim CodigoDest As Integer
Dim cantidad As Integer
Dim CodigoProd As Integer
Dim estado As String
Dim codigoMens As Integer
Dim MiConexion As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Mauro\Desktop\Pruebilla.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1'")
Dim MiAdaptador As New OleDbDataAdapter("SELECT * FROM [Hoja1$]", MiConexion)
Dim dt As New DataTable
Dim commandbuilder As New OleDb.OleDbCommandBuilder(MiAdaptador)
MiConexion.Open()
MiAdaptador.Fill(dt)
MiConexion.Close()
If ValidarXls(dt) = True Then
'Rows = Fila
'Item = Columna
Dim i As Integer
For i = 0 To dt.Rows.Count - 1
NumeroGuia = dt.Rows(i).Item(0)
CodigoDest = dt.Rows(i).Item(1)
cantidad = dt.Rows(i).Item(2)
CodigoProd = dt.Rows(i).Item(3)
estado = dt.Rows(i).Item(4)
codigoMens = dt.Rows(i).Item(5)
If datos.Crearguia(NumeroGuia, CodigoDest, cantidad, CodigoProd, estado, codigoMens) = False Then
lblMensaje.Text = "Ha ocurrido un error al momento de guardar los registros"
Exit Sub
End If
Next
lblMensaje.Text = "Carga masiva de Usuarios realizada con Exito!!!!!"
Else
lblMensaje.Text = "ha ocurrido un error al momento de validar el Excel"
End If
Catch ex As Exception
lblMensaje.Text = ex.ToString
End Try
End Sub

2 Respuestas

Respuesta
1
Tienes que colocar en el método Crearguia en el catch un mensaje para saber cual es el error que tienes en la sentencia sql de insert que estas utilizando
Respuesta
1
No veo el resaltado en negro.
Hola que pena contigo.. Ahí esta resaltado.
Function Crearguia(ByVal NumeroGuia As Integer, ByVal CodigoDest As Integer, ByVal cantidad As Integer, ByVal CodigoProd As Integer, ByVal estado As String, ByVal codigoMens As Integer) As Boolean
Dim Conmydata As SqlConnection 'para conectar con la base datos'
Dim cmdselect As SqlCommand 'sqlcommand sirve para ejecutar una instruccion de sql'
Dim strsql As String ' strsql variable donde se almacena la intruccion a ejecutar'
strsql = "insert into Guia values ('" & NumeroGuia & "','" & CodigoDest & "','" & cantidad & "','" & CodigoProd & "','" & estado & "','" & codigoMens & "')"
Conmydata = New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("StrCon").ConnectionString)
cmdselect = New SqlCommand(strsql, Conmydata)
cmdselect.CommandType = CommandType.Text
Try
Conmydata.Open() 'intenta ejecutar la instrucción, si no puede arroja la excepción o el error'
cmdselect.ExecuteNonQuery()
Conmydata.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
y esta es el metodo:
Protected Sub btnRealizarCarga_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnRealizarCarga.Click
Try
Dim datos As New datos
Dim NumeroGuia As Integer
Dim CodigoDest As Integer
Dim cantidad As Integer
Dim CodigoProd As Integer
Dim estado As String
Dim codigoMens As Integer
Dim MiConexion As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Mauro\Desktop\Pruebilla.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1'")
Dim MiAdaptador As New OleDbDataAdapter("SELECT * FROM [Hoja1$]", MiConexion)
Dim dt As New DataTable
Dim commandbuilder As New OleDb.OleDbCommandBuilder(MiAdaptador)
MiConexion.Open()
MiAdaptador.Fill(dt)
MiConexion.Close()
If ValidarXls(dt) = True Then
'Rows = Fila
'Item = Columna
Dim i As Integer
For i = 0 To dt.Rows.Count - 1
NumeroGuia = dt.Rows(i).Item(0)
CodigoDest = dt.Rows(i).Item(1)
cantidad = dt.Rows(i).Item(2)
CodigoProd = dt.Rows(i).Item(3)
estado = dt.Rows(i).Item(4)
codigoMens = dt.Rows(i).Item(5)
If datos.Crearguia(NumeroGuia, CodigoDest, cantidad, CodigoProd, estado, codigoMens) = False Then
lblMensaje.Text = "Ha ocurrido un error al momento de guardar los registros"
Exit Sub
End If
Next
lblMensaje.Text = "Carga masiva de Usuarios realizada con Exito!!!!!"
Else
lblMensaje.Text = "ha ocurrido un error al momento de validar el Excel"
End If
Catch ex As Exception
lblMensaje.Text = ex.ToString
End Try
End Sub
Tu me quieres enloquecer.
Debes mostrarme en que linea se genera el error, por que eso es una asignación a un Label en su propiedad Text.
Muéstrame el código de Crearguia
jajajajajja!..
Me parecido gracioso el comentario jaja.. mira este es el código, saludos:
Function Crearguia(ByVal NumeroGuia As Integer, ByVal CodigoDest As Integer, ByVal cantidad As Integer, ByVal CodigoProd As Integer, ByVal estado As String) As Boolean
Dim Conmydata As SqlConnection 'para conectar con la base datos'
Dim cmdselect As SqlCommand 'sqlcommand sirve para ejecutar una instruccion de sql'
Dim strsql As String ' strsql variable donde se almacena la intruccion a ejecutar'
strsql = "insert into Guia values ('" & NumeroGuia & "','" & CodigoDest & "','" & cantidad & "','" & CodigoProd & "','" & estado & "')"
Conmydata = New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("StrCon").ConnectionString)
cmdselect = New SqlCommand(strsql, Conmydata)
cmdselect.CommandType = CommandType.Text
Try
Conmydata.Open() 'intenta ejecutar la instrucción, si no puede arroja la excepción o el error'
cmdselect.ExecuteNonQuery()
Conmydata.Close()
Return True
Catch ex As Exception
Return False
End Try
End Function
Despues de Catch ex As Exception agrega esta linea:
Throw New Exception(ex.Message)
Hazlo correr y dime que te dice.
Hola..
Continua apareciendo exactamente lo mismo que te muestro arriba.
Gracias.
Si lo hiciste bien como te dije, no debería, pero cambia esto:
If datos.Crearguia(NumeroGuia, CodigoDest, cantidad, CodigoProd, estado, codigoMens) = False Then
lblMensaje.Text = "Ha ocurrido un error al momento de guardar los registros"
Exit Sub
End If
Por esto
Datos. Crearguia(NumeroGuia, CodigoDest, cantidad, CodigoProd, estado, codigoMens)
Te debe dar un error.
Hola Edwardo, te iba a preguntar algo sobre este tema pero fíjate que me puse a toriar esto y al final no se que fue lo que enmendó el error y ya pude insertar los datos. Aun así mil gracias por tu paciencia. Creo que es tu virtud. No tan negativa como la mía.. je je.. Ypor ahí te estoy molestando otra vez. Mil gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas