
[ayuda] maestro detalle
Publicado por javier (3 intervenciones) el 09/06/2014 18:11:14
hola!, necesito un poco de ayuda con mi codigo.. soy principiante y tengo un problema que no he podido resolver.. tengo un formulario que es una planilla de presupuesto, entonces tiene que guardar datos en dos tablas, una maestro que toma los datos de distintos textbox, combobox y datetimepicker y otro detalle que toma los datos desde un datagridview...
el error especificamente es: "error al convertir el valor de parametro DataRowView a int32"... yo he intentado convertir algunos datos unsando el parse.integer e convert.toint32 pero no hay caso.. aqui les dejo el codigo al cual le saque las conversiones.. para ver si alguien puede ayudarme a corregirlo mejor...
el error especificamente es: "error al convertir el valor de parametro DataRowView a int32"... yo he intentado convertir algunos datos unsando el parse.integer e convert.toint32 pero no hay caso.. aqui les dejo el codigo al cual le saque las conversiones.. para ver si alguien puede ayudarme a corregirlo mejor...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Dim transaction As SqlTransaction
Try
If conexion.State = ConnectionState.Closed Then
conexion.Open()
End If
' --------- insert de la tabla maestro del presupuesto --------
Dim presupuesto As New SqlCommand
presupuesto.CommandText = "Insert Into presupuesto(NumeroPresupuesto,fecha,idCliente,codUsuario,subTotal,total)Values
(@NumeroPresupuesto,@fecha,@idCliente,@codUsuario,@subTotal,@total)"
presupuesto.Connection = conexion
adapter.InsertCommand = presupuesto
adapter.InsertCommand.Parameters.Add(New SqlParameter("@NumeroPresupuesto", SqlDbType.Int))
adapter.InsertCommand.Parameters.Add(New SqlParameter("@idCliente", SqlDbType.Int))
adapter.InsertCommand.Parameters.Add(New SqlParameter("@codUsuario", SqlDbType.Int))
adapter.InsertCommand.Parameters.Add(New SqlParameter("@subTotal", SqlDbType.Decimal))
adapter.InsertCommand.Parameters.Add(New SqlParameter("@total", SqlDbType.Decimal))
adapter.InsertCommand.Parameters.Add(New SqlParameter("@fecha", SqlDbType.DateTime))
adapter.InsertCommand.Parameters("@NumeroPresupuesto").Value = Me.nroPresupuestoTxt.Text
adapter.InsertCommand.Parameters("@idCliente").Value = Me.idCLiente.Text
adapter.InsertCommand.Parameters("@codUsuario").Value = Me.usuariosCombo.SelectedValue
adapter.InsertCommand.Parameters("@subTotal").Value = Me.subTotal.Text
adapter.InsertCommand.Parameters("@total").Value = Me.TotalLabel.Text
adapter.InsertCommand.Parameters("@fecha").Value = Me.DateTimePicker1.Value
adapter.InsertCommand.Connection = conexion
transaction = conexion.BeginTransaction()
adapter.InsertCommand.Transaction = transaction
adapter.InsertCommand.ExecuteNonQuery()
' ------- insert para el detalle de presupuesto -------
Dim f As Integer
For f = 0 To dataset.Tables("t_detalle").Rows.Count() - 1 Step 1
Dim detallePrestamo As New SqlCommand
detallePrestamo.CommandText = "insert into detallePresupuesto(cantidad,precioUnitario,total,idPresupuesto,idArticulo,descripcion) VALUES (@cantidad,@precioUnitario,@total,@idPresupuesto,@idArticulo,@descripcion)"
detallePrestamo.Connection = conexion
adapter.InsertCommand = detallePrestamo
adapter.InsertCommand.Parameters.Add(New SqlParameter("@cantidad", SqlDbType.Int))
adapter.InsertCommand.Parameters.Add(New SqlParameter("@precioUnitario", SqlDbType.Decimal))
adapter.InsertCommand.Parameters.Add(New SqlParameter("@total", SqlDbType.Decimal))
adapter.InsertCommand.Parameters.Add(New SqlParameter("idPresupuesto", SqlDbType.Int))
adapter.InsertCommand.Parameters.Add(New SqlParameter("@idArticulo", SqlDbType.Int))
adapter.InsertCommand.Parameters.Add(New SqlParameter("@descripcion", SqlDbType.VarChar))
adapter.InsertCommand.Parameters("@cantidad").Value = dataset.Tables("t_detalle").Rows(f).Item("cantidad")
adapter.InsertCommand.Parameters("@precioUnitario").Value = dataset.Tables("t_detalle").Rows(f).Item("precioVenta")
adapter.InsertCommand.Parameters("@total").Value = dataset.Tables("t_detalle").Rows(f).Item("total")
adapter.InsertCommand.Parameters("@idPresupuesto").Value = Me.nroPresupuestoTxt.Text
adapter.InsertCommand.Parameters("@idArticulo").Value = dataset.Tables("t_detalle").Rows(f).Item("codigo")
adapter.InsertCommand.Parameters("@descripcion").Value = dataset.Tables("t_detalle").Rows(f).Item("descripcion")
adapter.InsertCommand.Connection = conexion
adapter.InsertCommand.Transaction = transaction
adapter.InsertCommand.ExecuteNonQuery()
Next
transaction.Commit()
Catch ex As Exception
MessageBox.Show(ex.Message)
transaction.Rollback()
End Try
Valora esta pregunta


0