Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/12/2005, 14:41
Mary_
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años, 1 mes
Puntos: 0
Excepción al cargar datagrids

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.