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
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 de Roberto Alvarado
1
Respuesta de Eduardo Saligari
1