Hola a todos...
Tengo una clase q lee y graba 1 DataSet de una Tabla llamada "Stock" de
MSDE.
Ahora bien ... para leer el DataSet lo lee bien y lo carga a un Datagrid en
donde la persona le agrega filas... Eso tambien lo hace bien.
Cuando quiero grabar el DataSet no me da error pero no me graba nada...
Ideas??????????? Gracias !!!!
Ahi les va el codigo
Public Function Leer_DataSet_Stock(ByVal LeerVacio As Boolean, ByVal
StrSelect As String, Optional ByVal StrWhere As String = "") As DataSet
Try
Dim cmd As New SqlCommand
Dim adp As New SqlDataAdapter
AbrirBaseDatos()
With cmd
.Connection = Conexion
.CommandType = CommandType.Text
If LeerVacio = False Then
If StrWhere = "" Then
.CommandText = "SELECT " & StrSelect & " FROM Stock"
Else
.CommandText = "SELECT " & StrSelect & " FROM Stock
WHERE " & StrWhere
End If
Else
.CommandText = "SELECT * FROM Stock WHERE Producto = -1"
Lee el DataSet Vacio
End If
End With
adp.SelectCommand = cmd
adp.TableMappings.Add("Table", "Stock")
adp.Fill(DataSet)
Return DataSet
Catch err As Exception
Dim msg As String
msg = "Error al Leer DataSet Stock"
EventLog.WriteEntry(msg, err.Message, EventLogEntryType.Error)
Throw New Exception(msg, err)
Finally
CerrarBaseDatos()
End Try
End Function
Public Sub Grabar_DataSet_Stock(ByVal dts As DataSet)
Try
Dim cmd As New SqlCommand
Dim adp As New SqlDataAdapter
AbrirBaseDatos()
With cmd
.Connection = Conexion
.CommandType = CommandType.Text
.Parameters.Add(New SqlParameter("@Producto",
SqlDbType.BigInt, 8, "Producto"))
.Parameters.Add(New SqlParameter("@Fecha",
SqlDbType.DateTime, 8, "Fecha"))
.Parameters.Add(New SqlParameter("@Precio_Costo",
SqlDbType.Money, 8, "Precio_Costo"))
.Parameters.Add(New SqlParameter("@Proveedor",
SqlDbType.BigInt, 8, "Proveedor"))
.Parameters.Add(New SqlParameter("@Garantia", SqlDbType.Int,
4, "Garantia"))
.Parameters.Add(New SqlParameter("@Serie",
SqlDbType.VarChar, 20, "Serie"))
.Parameters.Add(New SqlParameter("@Estado",
SqlDbType.TinyInt, 1, "Estado"))
.Parameters.Add(New SqlParameter("@Numero_Compra",
SqlDbType.BigInt, 8, "Numero_Compra"))
.Parameters.Add(New SqlParameter("@Numero_Venta",
SqlDbType.BigInt, 8, "Numero_Venta"))
.Parameters.Add(New SqlParameter("@Numero_Otro",
SqlDbType.BigInt, 8, "Numero_Otro"))
.CommandText = "INSERT INTO Stock
(Producto,Fecha,Precio_Costo,Proveedor,Garantia,Serie,Estado,Numero_Compra,N
umero_Venta,Numero_Otro)" & _
"VALUES(@Producto,@Fecha,@Precio_Costo,@Proveedor,@Garantia,@Serie,@Estado,@
Numero_Compra,@Numero_Venta,@Numero_Otro)"
adp.InsertCommand = cmd
.CommandText = "SELECT * FROM Stock"
adp.SelectCommand = cmd
.CommandText = "DELETE * FROM Stock WHERE Producto @Producto AND Serie = @Serie"
adp.DeleteCommand = cmd
.CommandText = "UPDATE Stock SET Producto=@Producto,
Fecha=@Fecha, Precio_Costo=@Precio_Costo, Proveedor=@Proveedor,
Garantia=@Garantia, Serie=@Serie, Estado=@Estado,
Numero_Compra=@Numero_Compra" & _
", Numero_Venta=@Numero_Venta, Numero_Otro @Numero_Otro WHERE Producto=@Producto AND Serie = @Serie"
adp.UpdateCommand = cmd
End With
adp.TableMappings.Add("Table", "Stock") Aca lo probé de las dos
maneras
adp.Update(dts, "Stock") Aca lo probé de las dos maneras
dts.AcceptChanges()
Catch err As Exception
Dim msg As String
msg = "Error al Grabar DataSet Stock"
EventLog.WriteEntry(msg, err.Message, EventLogEntryType.Error)
Throw New Exception(msg, err)
Finally
CerrarBaseDatos()
End Try
End Sub
Leer las respuestas