Visual Basic.NET - Insertar datos a través del DataAdapter

 
Vista:

Insertar datos a través del DataAdapter

Publicado por Carlos (33 intervenciones) el 28/03/2008 10:36:31
Hola:
Tengo problemas para insertar un registro nuevo en una base de datos en la tabla DPERSO2"

' la tabla DPERSO2 ES LA SIGUIENTE
'CODIGO_PE INT
'ACTIVO NCHAR(1)
'CLAN NCHAR(1)
'DENTRO NCHAR(1)
' Esta tabla tiene 204 valores y quiero insertar una nuevo registro con los valores
'------------- 205, "S" , "F", "S"
'El código que utilizo es el siguiente; pero no va.
' Dim cadena As String = "Data
Source=.SQLEXPRESS;AttachDbFilename=C:DATOSBD_FRESTON.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

Sub DarAltasDperso()
'Dar Altas
Dim Miconexion As SqlConnection
Dim Criterio1 As String
Dim Criterio2 As String
Dim Sumacriterios As String
Dim nreg As Integer
Dim Midatarow As Data.DataRow
' codigo_pe toma el valor 205 esta declarado Private Codigo_pe As Integer
Dim Midataset As New DataSet
Miconexion = New SqlConnection(cadena)
Criterio1 = "SELECT CODIGO_PE, ACTIVO, CLAN, DENTRO FROM DPERSO2 WHERE "
Criterio2 = "CODIGO_PE='" & Codigo_pe & "'"
Sumacriterios = Criterio1 & Criterio2
Dim Midataadapter As New SqlDataAdapter(Sumacriterios, cadena)
Midataadapter.Fill(Midataset, "DPERSO2")
nreg = Midataset.Tables("DPERSO2").Rows.Count
If nreg = 0 Then
Midatarow = Midataset.Tables("dperso2").NewRow
Midatarow("codigo_pe") = Codigo_pe
Midatarow("activo") = "S"
Midatarow("clan") = "F"
Midatarow("dentro") = "S"
Midataset.Tables("dperso2").Rows.Add(Midatarow)
If Midataset.HasChanges Then
'GUARDA DPERSO2
Dim gr As SqlCommandBuilder = New SqlCommandBuilder(Midataadapter)
Miconexion.Open()
Midataadapter.Update(Midataset, "DPERSO2")
Miconexion.Close()
End If
End If
End Sub
Por favor si podes me escribís el código, porque soy nuevo en esto y hay cosas que son obvias pero no las entiendo.
El error es el siguiete:
Instrucción INSERT en conflicto con la restricción FOREIGN KEY "DIAGRAMA_DPERSO". El conflicto ha aparecido en la base de datos "C:DATOSBD_FRESTON.MDF", tabla "dbo.DPERSO", column
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Insertar datos a través del DataAdapter

Publicado por marovi (6 intervenciones) el 28/03/2008 13:50:13
Sociate.

Al parecer el problema esta presentandote por que no estas respetando una relación foranea a otra tabla, o estas agregando un valor que no corresponde a un dato referenciado o estas guardando null dentro de un campo y que además esta referenciado.

relación uno a muchos, eso esta dandote problemas Bases de datos.

bye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Insertar datos a través del DataAdapter

Publicado por Carlos (33 intervenciones) el 28/03/2008 14:53:59
Hola marovi:

Debido a que soy nuevo en esto, no entiendo lo que me dices.
Dime que líneas del código fuente tengo que cambiar, quitar o añadir.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar