Exception da.Fill(ds, "IdPedido") Visual.net
Publicado por @nd3[R]-Boy (10 intervenciones) el 26/09/2010 22:35:08
http://www.lawebdelprogramador.com/news/agregar.php?id=192&texto=Visual+Basic.NET
Hola amigos y camaradas, vengo a ustedes pidiendo una asesoria.
Tengo un proyecto para entrar en mi universidad, hacerca de realizar un programa para una empresa X. Dicho programa maneja, empleado, nomina, clientes, productos, proveedores, pedidos y una factura.
Realizar la base de datos en ACCESS con las tablas que mencione anteriormente.
Realize la conexion a la base de datos desde el visual studio 2008 sin ningun problema, es mas los primeros formulario de clientes, productos, y proveedores me funcionan correctamente.
Mi problema radica en el formulario de PEDIDOS.
Al querer guardar un dato me tira una exception como la que mensione:
"El número de valores de consulta y el número de campos de destino son diferentes."
y me muestra aqui la exception : da.Fill(ds, "IdPedido")
Averigue y decia que era por que los campos no coincidian, pero no es asi, revise minusiosamente y eso no puede ser.
Aque les dejo la programacion de todo el formulario, espero y me puedan ayudar a arreglar dicho problema..
Para mas informacion dejo un video en youtube para que lo vean donde esta el problema como tal.. y este es el codigo del form.
Aqui esta el link del video con la exception: http://www.youtube.com/watch?v=heeazCTTJx4
Private Sub PedidoBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PedidoBindingNavigatorSaveItem.Click
'Try
Me.Validate()
Me.PedidoBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.SagradaFamilia6DataSet)
Dim cadena As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\anderboy\Desktop\SagradaFamilia6\SagradaFamilia6\SagradaFamilia6.accdb"
Dim conexion As OleDbConnection = New OleDbConnection(cadena)
conexion.Open()
Dim sentenciasql = "insert into Pedido (IdPedido,IdProducto,Cantidad,Descripcion,FechaEntrega) values('" & IdPedidoTextBox.Text & "'" & ",'" & IdProductoTextBox.Text & "'" & ",'" & CantidadTextBox.Text & "'" & ",'" & DescripcionTextBox.Text & "'" & ",'" & FechaEntregaDateTimePicker.Text & "'" & ",'" & TotalTextBox.Text & "')"
Dim comando As OleDbCommand = New OleDbCommand(sentenciasql, conexion)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(comando)
Dim ds As DataSet = New DataSet()
da.Fill(ds, "IdPedido")
conexion.Close()
pmostrar()
MsgBox("Registro almacenado exitosamente", MsgBoxStyle.Information, "Registro almacenado")
'Catch ex As Exception
MsgBox("FATAL ERROR", MsgBoxStyle.Critical)
'End Try
End Sub
Private Sub Pedidos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'SagradaFamilia6DataSet.Pedido' Puede moverla o quitarla según sea necesario.
Me.PedidoTableAdapter.Fill(Me.SagradaFamilia6DataSet.Pedido)
End Sub
Private Sub pmostrar()
Dim cadena As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\anderboy\Desktop\SagradaFamilia6\SagradaFamilia6\SagradaFamilia6.accdb"
Dim conexion As OleDbConnection = New OleDbConnection(cadena)
conexion.Open()
Dim sentenciasql = "select * from Pedido "
Dim comando As OleDbCommand = New OleDbCommand(sentenciasql, conexion)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(comando)
Dim ds As DataSet = New DataSet()
da.Fill(ds, "IdPedido")
DataGridView1.DataSource = ds.Tables(0).DefaultView
conexion.Close()
End Sub
Hola amigos y camaradas, vengo a ustedes pidiendo una asesoria.
Tengo un proyecto para entrar en mi universidad, hacerca de realizar un programa para una empresa X. Dicho programa maneja, empleado, nomina, clientes, productos, proveedores, pedidos y una factura.
Realizar la base de datos en ACCESS con las tablas que mencione anteriormente.
Realize la conexion a la base de datos desde el visual studio 2008 sin ningun problema, es mas los primeros formulario de clientes, productos, y proveedores me funcionan correctamente.
Mi problema radica en el formulario de PEDIDOS.
Al querer guardar un dato me tira una exception como la que mensione:
"El número de valores de consulta y el número de campos de destino son diferentes."
y me muestra aqui la exception : da.Fill(ds, "IdPedido")
Averigue y decia que era por que los campos no coincidian, pero no es asi, revise minusiosamente y eso no puede ser.
Aque les dejo la programacion de todo el formulario, espero y me puedan ayudar a arreglar dicho problema..
Para mas informacion dejo un video en youtube para que lo vean donde esta el problema como tal.. y este es el codigo del form.
Aqui esta el link del video con la exception: http://www.youtube.com/watch?v=heeazCTTJx4
Private Sub PedidoBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PedidoBindingNavigatorSaveItem.Click
'Try
Me.Validate()
Me.PedidoBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.SagradaFamilia6DataSet)
Dim cadena As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\anderboy\Desktop\SagradaFamilia6\SagradaFamilia6\SagradaFamilia6.accdb"
Dim conexion As OleDbConnection = New OleDbConnection(cadena)
conexion.Open()
Dim sentenciasql = "insert into Pedido (IdPedido,IdProducto,Cantidad,Descripcion,FechaEntrega) values('" & IdPedidoTextBox.Text & "'" & ",'" & IdProductoTextBox.Text & "'" & ",'" & CantidadTextBox.Text & "'" & ",'" & DescripcionTextBox.Text & "'" & ",'" & FechaEntregaDateTimePicker.Text & "'" & ",'" & TotalTextBox.Text & "')"
Dim comando As OleDbCommand = New OleDbCommand(sentenciasql, conexion)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(comando)
Dim ds As DataSet = New DataSet()
da.Fill(ds, "IdPedido")
conexion.Close()
pmostrar()
MsgBox("Registro almacenado exitosamente", MsgBoxStyle.Information, "Registro almacenado")
'Catch ex As Exception
MsgBox("FATAL ERROR", MsgBoxStyle.Critical)
'End Try
End Sub
Private Sub Pedidos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: esta línea de código carga datos en la tabla 'SagradaFamilia6DataSet.Pedido' Puede moverla o quitarla según sea necesario.
Me.PedidoTableAdapter.Fill(Me.SagradaFamilia6DataSet.Pedido)
End Sub
Private Sub pmostrar()
Dim cadena As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\anderboy\Desktop\SagradaFamilia6\SagradaFamilia6\SagradaFamilia6.accdb"
Dim conexion As OleDbConnection = New OleDbConnection(cadena)
conexion.Open()
Dim sentenciasql = "select * from Pedido "
Dim comando As OleDbCommand = New OleDbCommand(sentenciasql, conexion)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(comando)
Dim ds As DataSet = New DataSet()
da.Fill(ds, "IdPedido")
DataGridView1.DataSource = ds.Tables(0).DefaultView
conexion.Close()
End Sub
Valora esta pregunta


0