Foros del Web » Programación para mayores de 30 ;) » .NET »

Excepción al cargar datagrids

Estas en el tema de Excepción al cargar datagrids en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 13/12/2005, 14:41
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años
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.
  #2 (permalink)  
Antiguo 14/12/2005, 04:31
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Hola MAry,
El error te lo da al crear una relacion en el dataset. Como en ese punto ya tienes los datos cargados, habrá alguno que incuple la relacion que estás creando. Asegurate de que los datos son consistente a la relacion que quieres hacer.

Saludos.
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 14/12/2005, 06:13
 
Fecha de Ingreso: abril-2005
Mensajes: 163
Antigüedad: 19 años
Puntos: 0
Bueno ya está solucionado, todo l problema estaba n las sql, q aunq estaban bien no eran correctas para establecer las relaciones.

Saludos y gracias MOntezion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:15.