---
title: "DataRelation problem...(C#)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/119961-datarelation-problem-c"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Bjuris"
published: "2005-01-12T14:01:44.000Z"
updated: "2005-01-13T06:48:38.000Z"
replies: 4
views: 247
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/119961-datarelation-problem-c"
---

# DataRelation problem...(C#)

## #1 — Bjuris, 2005-01-12T14:01Z

Har problem med DataRelation i c#

Det fungerar fint när jag inte har några kriterier i mina sql sökningar som jag sendan relaterar med varandra med DataRelation.

Detta fungerar:

```
SqlDataAdapter customerAdapter		= new SqlDataAdapter("Select idCustomer, CustomerName from Customer WHERE CustomerName LIKE '"+CustName+"%' ORDER by CustomerName", dbConn);
SqlDataAdapter locationAdapter		= new SqlDataAdapter("Select * from OfficeLocation", dbConn);
SqlDataAdapter contactAdapter		= new SqlDataAdapter("Select * from Contact", dbConn);
SqlDataAdapter ApplicationAdapter	= new SqlDataAdapter("Select * from Applications", dbConn);
			
customerAdapter.Fill(thisDataSet, "Customers");
locationAdapter.Fill(thisDataSet, "Location");
contactAdapter.Fill(thisDataSet, "Contact");
ApplicationAdapter.Fill(thisDataSet, "Application");

    DataRelation CustLocRel	=	dsResult.Relations.Add("CustLoc", dsResult.Tables["Customers"].Columns["idCustomer"], dsResult.Tables["Location"].Columns["idCustomer"]);
    DataRelation LocConRel	=	dsResult.Relations.Add("LocCon", dsResult.Tables["Location"].Columns["idOffice"], dsResult.Tables["Contact"].Columns["idOfficeLocation"]);
    DataRelation LocApplRel	=	dsResult.Relations.Add("LocAppl", dsResult.Tables["Location"].Columns["idOffice"], dsResult.Tables["Application"].Columns["idOfficeLocation"]);
```

Men om jag lägger till ett kritera i den första SQL frågan 

```
SqlDataAdapter customerAdapter		= new SqlDataAdapter("Select idCustomer, CustomerName from Customer ORDER by CustomerName", dbConn);SqlDataAdapter locationAdapter		= new SqlDataAdapter("Select * from OfficeLocation", dbConn);
SqlDataAdapter contactAdapter		= new SqlDataAdapter("Select * from Contact", dbConn);
SqlDataAdapter ApplicationAdapter	= new SqlDataAdapter("Select * from Applications", dbConn);
```

Så får jag följande felmeddelande:

> This constraint cannot be enabled as not all values have corresponding parent values. 
> 
> Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
> 
> Exception Details: System.ArgumentException: This constraint cannot be enabled as not all values have corresponding parent values.

 

Någon som kan hjälpa mig?

Permalänk: https://www.webforum.nu/p/119961

## #2 — Nöff, 2005-01-12T15:19Z

du får felmeddelandet eftersom du försöker fylla datatable nr:2 som har parent values i datatable nr 1 och eftersom du gör ett sökkriteria på tabell nr:1 så kommer vissa parent att fattas.

Permalänk: https://www.webforum.nu/p/1525892

## #3 — Bjuris, 2005-01-12T15:30Z

Har nästan förstått att det ligger till på något liknande sätt, men hur skall jag lösa det?

Permalänk: https://www.webforum.nu/p/1525902

## #4 — Nöff, 2005-01-12T17:49Z

hämta alltihopa, det är det enklaste, det är så det är tänkt att fungera med dataset. Eller så kan du med hjälp av WHERE hämta exakt det du vill, men då måste du vara nogrann med att du hämta ALLA relationer och sådant till ALLA relaterade datatables.

Permalänk: https://www.webforum.nu/p/1525988

## #5 — Bjuris, 2005-01-13T06:48Z

I så fal måste jag hålla på och joina olika tabeller i frågorna och det var ju lite därför jag använder Relations för att just slippa det.

...eller finns det andra sätt?

Permalänk: https://www.webforum.nu/p/1526261

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/119961-datarelation-problem-c
