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

Preguntas similare

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


Respuesta Responder a este mensaje
#2 David Sans
11/11/2004 - 09:48 | Informe spam
Hola, no soy un experto, pero añadiendo el siguiente codigo donde te da el error igual te da alguna pista.

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



Try
ada.InsertCommand.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.ToString)
finally
conexion.Close()
end try

Espero que el msgbox te ayude a encontrar el error.

Un saludo
David S.

"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


Respuesta Responder a este mensaje
#3 Fernando
11/11/2004 - 14:00 | Informe spam
millon de gracias.. esto me salio como reporte de mi error pues no me
cruzaba por la mente que fuera cosa de la base de datos por que estana bien
modela segun me dijeron...
creo que el problema radica aqui verdad.. ?

1 .- ) create index RELATIONSHIP_13_FK on STOCK (
COD_PRODUCTO)
2.-) alter table STOCK
add constraint FK_STOCK_RELATIONS_PRODUCTO foreign key
(COD_PRODUCTO)
references PRODUCTO (COD_PRODUCTO)

System.Data.SqlClient.SqlException: Instrucción INSERT en conflicto con la
restricción COLUMN FOREIGN KEY 'FK_STOCK_RELATIONS_PRODUCTO'. El conflicto
ha aparecido en la base de datos 'farmacia', tabla 'PRODUCTO', column
'COD_PRODUCTO'.

Se terminó la instrucción.

at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream)

at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

at WindowsApplication1.foringre.guarda_stock() in
D:\karnash\Proyectos\visual net\WindowsApplication1\Form8.vb:line 320
Respuesta Responder a este mensaje
#4 BHR
11/11/2004 - 14:45 | Informe spam
Seguramente estas insertando un valor malo (integridad de
datos) en uno de los campos con llave foranea...



millon de gracias.. esto me salio como reporte de mi


error pues no me
cruzaba por la mente que fuera cosa de la base de datos


por que estana bien
modela segun me dijeron...
creo que el problema radica aqui verdad.. ?

1 .- ) create index RELATIONSHIP_13_FK on STOCK (
COD_PRODUCTO)
2.-) alter table STOCK
add constraint FK_STOCK_RELATIONS_PRODUCTO


foreign key
(COD_PRODUCTO)
references PRODUCTO (COD_PRODUCTO)

System.Data.SqlClient.SqlException: Instrucción INSERT


en conflicto con la
restricción COLUMN FOREIGN


KEY 'FK_STOCK_RELATIONS_PRODUCTO'. El conflicto
ha aparecido en la base de datos 'farmacia',


tabla 'PRODUCTO', column
'COD_PRODUCTO'.

Se terminó la instrucción.

at System.Data.SqlClient.SqlCommand.ExecuteReader


(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean


returnStream)

at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

at WindowsApplication1.foringre.guarda_stock() in
D:\karnash\Proyectos\visual net\WindowsApplication1


\Form8.vb:line 320



.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida