Hola, a ver si alguien tiene idea d q puede ser el siguiente error:
Excepción no controlada del tipo 'System.ArgumentException' en system.data.dll
Información adicional: No se puede habilitar esta restricción ya que todos los valores no tienen los valores primarios correspondientes.
Este error me lo da al cargar unos datagrid en relación maestro-detalle. El código es:
Private Sub CargarDatagrids(ByVal idpaciente)
dbConn = New SqlConnection("server=127.0.0.1;uid=sa;pwd=;databa se=clinica")
Dim sqllesiones As String
sqllesiones = "select lesiones.idlesion,lesiones.fechalesion,lesiones.mo tivoconsulta,lesiones.diagnosticomedico," & _
"lesiones.diagnosticofisioterapico,lesiones.tratam ientofisioterapico,lesiones.fechainiciotrat," & _
"lesiones.numsesiones,lesiones.importe from lesiones,pacientes where pacientes.idpaciente=lesiones.idpaciente and " & _
"pacientes.idpaciente = " & idpaciente
Dim sqlsesiones As String
sqlsesiones = "select * from sesiones"
Dim sqlterapias As String
sqlterapias = "select s.idsesion,t.nombre,s.duracion,s.parametros,s.zona aplicacion from sesionterapia s inner join terapias t on " & _
"s.idterapia=t.idterapia"
dalesiones = New SqlDataAdapter(sqllesiones, dbConn)
Dim cblesiones As New SqlCommandBuilder(dalesiones)
dasesiones = New SqlDataAdapter(sqlsesiones, dbConn)
Dim cbsesiones As New SqlCommandBuilder(dasesiones)
daterapias = New SqlDataAdapter(sqlterapias, dbConn)
Dim cbterapias As New SqlCommandBuilder(daterapias)
dsdatos = New DataSet
Try
dbConn.Open()
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
dalesiones.Fill(dsdatos, "Lesiones")
dasesiones.Fill(dsdatos, "Sesiones")
daterapias.Fill(dsdatos, "Terapias")
dbConn.Close()
dgLesiones.CaptionText = "LESIONES"
dgLesiones.DataSource = dsdatos
dgLesiones.DataMember = "Lesiones"
dgLesiones.AllowNavigation = False
dgSesiones.CaptionText = "SESIONES"
dgSesiones.DataSource = dsdatos
*** dsdatos.Relations.Add("Lesiones_Sesiones", dsdatos.Tables("Lesiones").Columns("idlesion"), _
dsdatos.Tables("Sesiones").Columns("idlesion"))
dgSesiones.DataMember = "Lesiones.Lesiones_Sesiones"
dsdatos.Relations.Add("Sesiones_Terapias", dsdatos.Tables("Sesiones").Columns("idsesion"), _
dsdatos.Tables("Terapias").Columns("idsesion"))
End Sub
El error me lo da n la línea de los '***', gracias.