SOS F1 ... HELP !!!

11/11/2004 - 01:08 por Fernando | Informe spam
Casi me doy de topes con el monitor pero no el hallo la solucion a este
problema. alguien por fabor digame que estoy haciendo mal.. :( me vuelvo
loco solo me falta eso y termino mi proyecto llevo mas de una semana pero no
hallo el error.. :( gracias por la ayuda.. :$

este es el error..

Excepción no controlada del tipo 'System.Data.SqlClient.SqlException' en
system.data.dll

Información adicional: Error del sistema.
-



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

If (Me.ComboBox1.Text <> "") Then

leer.ReadXml("seleccion_forma.xml")

Dim fila As DataRow

For Each fila In leer.Tables(0).Rows

insertar(fila.Item("Cantidad"), fila.Item("Fecha Vencimiento"),
fila.Item("Nombre Generico"), fila.Item("Nombre Comercial"),
fila.Item("Dosis"), fila.Item("Presentacion"), fila.Item("Medida de Dosis"),
fila.Item("Proveedor"))

Next

guardar_informe()

MessageBox.Show("Valores Ingresados")

Me.Close()

Else

MessageBox.Show("Verifique los Datos")

End If

End Sub

Private Function guarda_stock()

Dim comando As New SqlCommand("insert into stock " & _

"values(@c_ingreso,@c_producto,@c_salida,@c_proveedor,@f_vence)", conexion)

Dim ada As New SqlDataAdapter()

conexion.Open()

ada.InsertCommand = comando

With ada.InsertCommand

.Parameters.Add(New SqlParameter("@c_ingreso", SqlDbType.Int))

.Parameters.Add(New SqlParameter("@c_producto", SqlDbType.Int))

.Parameters.Add(New SqlParameter("@c_salida", SqlDbType.Int))

.Parameters.Add(New SqlParameter("@c_proveedor", SqlDbType.Int))

.Parameters.Add(New SqlParameter("@f_vence", SqlDbType.DateTime))

.Parameters("@c_ingreso").Value = c_infor

.Parameters("@c_producto").Value = c_producto

.Parameters("@c_salida").Value = c_salida

.Parameters("@c_proveedor").Value = c_proveedor

.Parameters("@f_vence").Value = f_vence

End With

ada.InsertCommand.ExecuteNonQuery() ->>> ACA REPORTA ERROR

conexion.Close()

End Function

Public Function insertar(ByVal canti As Integer, ByVal fecha As Date, ByVal
n_gen As String, ByVal n_com As String, ByVal dos As String, ByVal n_uni As
String, ByVal m_dos As String, ByVal n_prove As String)

Dim i As Integer

For i = 0 To cantidad

f_vence = fecha

c_infor = get_c_inf()

c_producto = get_c_prod(n_gen, n_com, dos, n_uni, m_dos)

c_salida = 0

c_proveedor = get_c_prove(n_prove)

guarda_stock()

Next

End Function
 

Leer las respuestas

#1 Manuel C.
11/11/2004 - 09:31 | Informe spam
Hola Fernando:

He aislado el procedimiento Stock y lo probado obteniendo un
resultado correcto.

Creo que deberias revisar los valores de los parámetros por si
existe algún valor en alguno de ellos que viole alguna restricción de la
tabla (claves primarias, valores nulos...).

Tambien podrías incluir la inserción en una transaccion de la
siguiente manera:
Dim cmdUpdate As OleDb.OleDbCommand

Dim tran As OleDb.OleDbTransaction

tran = Conexion.BeginTransaction()

cmdUpdate.Transaction = tran

cmdUpdate.ExecuteNonQuery()

tran.Commit()

Espero que pueda servirte esta ayuda. Porque la verdad es que las
excepciones que se lanzan son un poco generales y no ayudan mucho.

Un saludo:

Manuel C.



"Fernando" escribió en el mensaje
news:
Casi me doy de topes con el monitor pero no el hallo la solucion a este
problema. alguien por fabor digame que estoy haciendo mal.. :( me


vuelvo
loco solo me falta eso y termino mi proyecto llevo mas de una semana pero


no
hallo el error.. :( gracias por la ayuda.. :$

este es el error..

Excepción no controlada del tipo 'System.Data.SqlClient.SqlException' en
system.data.dll

Información adicional: Error del sistema.



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

If (Me.ComboBox1.Text <> "") Then

leer.ReadXml("seleccion_forma.xml")

Dim fila As DataRow

For Each fila In leer.Tables(0).Rows

insertar(fila.Item("Cantidad"), fila.Item("Fecha Vencimiento"),
fila.Item("Nombre Generico"), fila.Item("Nombre Comercial"),
fila.Item("Dosis"), fila.Item("Presentacion"), fila.Item("Medida de


Dosis"),
fila.Item("Proveedor"))

Next

guardar_informe()

MessageBox.Show("Valores Ingresados")

Me.Close()

Else

MessageBox.Show("Verifique los Datos")

End If

End Sub

Private Function guarda_stock()

Dim comando As New SqlCommand("insert into stock " & _

"values(@c_ingreso,@c_producto,@c_salida,@c_proveedor,@f_vence)",


conexion)

Dim ada As New SqlDataAdapter()

conexion.Open()

ada.InsertCommand = comando

With ada.InsertCommand

.Parameters.Add(New SqlParameter("@c_ingreso", SqlDbType.Int))

.Parameters.Add(New SqlParameter("@c_producto", SqlDbType.Int))

.Parameters.Add(New SqlParameter("@c_salida", SqlDbType.Int))

.Parameters.Add(New SqlParameter("@c_proveedor", SqlDbType.Int))

.Parameters.Add(New SqlParameter("@f_vence", SqlDbType.DateTime))

.Parameters("@c_ingreso").Value = c_infor

.Parameters("@c_producto").Value = c_producto

.Parameters("@c_salida").Value = c_salida

.Parameters("@c_proveedor").Value = c_proveedor

.Parameters("@f_vence").Value = f_vence

End With

ada.InsertCommand.ExecuteNonQuery() ->>> ACA REPORTA ERROR

conexion.Close()

End Function

Public Function insertar(ByVal canti As Integer, ByVal fecha As Date,


ByVal
n_gen As String, ByVal n_com As String, ByVal dos As String, ByVal n_uni


As
String, ByVal m_dos As String, ByVal n_prove As String)

Dim i As Integer

For i = 0 To cantidad

f_vence = fecha

c_infor = get_c_inf()

c_producto = get_c_prod(n_gen, n_com, dos, n_uni, m_dos)

c_salida = 0

c_proveedor = get_c_prove(n_prove)

guarda_stock()

Next

End Function


Preguntas similares