Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Databas, datagrids

Postades av 2004-11-25 12:38:22 - Daniel Barsk, i forum c# (c-sharp), Tråden har 2 Kommentarer och lästs av 613 personer

Hej..

Är det någon som kan hjälpa mig med mitt problem.
Jag vill hämta information från databasen, och jag har 2 datagrids. I den ena ska en lista på produkter visas, och i den andra ska man få fram vilka kunder som köpt en viss produkt.. och den datagrid:en ska givetvis förändras och anpassas efter den datagrid:en som produkterna listas i.
Jag får det att fungera om jag bara har en koppling mellan 2 tabeller i databasen, men nu är det 4 tabeller som är inblandade och hur jag än vrider och vänder på relationerna mellan dessa så får jag det inte att fungera. Felmeddelandet blir : "Cannot create a child list for field relOrdersOrderdet."

Koden (förutom connection strängen) :

DataSet ds = new DataSet();

SqlCommand cmdProducts = SQLConn.CreateCommand();
cmdProducts.CommandType = System.Data.CommandType.Text;
cmdProducts.CommandText="SELECT * FROM Products";
SqlDataAdapter daProducts = new SqlDataAdapter();
daProducts.SelectCommand = cmdProducts;
daProducts.Fill(ds, "Products");

SqlCommand cmdOrderdet = SQLConn.CreateCommand();
cmdOrderdet.CommandType = System.Data.CommandType.Text;
cmdOrderdet.CommandText="SELECT * FROM [Order Details]";
SqlDataAdapter daOrderdet = new SqlDataAdapter();
daOrderdet.SelectCommand = cmdOrderdet;
daOrderdet.Fill(ds, "Orderdet");

SqlCommand cmdOrders = SQLConn.CreateCommand();
cmdOrders.CommandType = System.Data.CommandType.Text;
cmdOrders.CommandText="SELECT * FROM Orders";
SqlDataAdapter daOrders = new SqlDataAdapter();
daOrders.SelectCommand = cmdOrders;
daOrders.Fill(ds, "Orders");

SqlCommand cmdCustomers = SQLConn.CreateCommand();
cmdCustomers.CommandType = System.Data.CommandType.Text;
cmdCustomers.CommandText="SELECT * FROM Customers";
SqlDataAdapter daCustomers = new SqlDataAdapter();
daCustomers.SelectCommand = cmdCustomers;
daCustomers.Fill(ds, "Customers");

ds.Relations.Add(new DataRelation("relProdOrderdet",
ds.Tables["Products"].Columns["ProductID"],
ds.Tables["Orderdet"].Columns["ProductID"]));
ds.Relations.Add(new DataRelation("relOrdersOrderdet",
ds.Tables["Orders"].Columns["OrderID"],
ds.Tables["Orderdet"].Columns["OrderID"]));
ds.Relations.Add(new DataRelation("relCustomersOrders",
ds.Tables["Customers"].Columns["CustomerID"],
ds.Tables["Orders"].Columns["CustomerID"]));

dataGrid1.DataSource = ds;
dataGrid1.DataMember = "Products";

dataGrid2.DataSource = ds;
dataGrid2.DataMember = "Products.relProdOrderdet.relOrdersOrderdet.relCustomersOrders";

-----------------------------------------

Gör jag däremot samma sak men bara med en relation så får jag det att fungera, alltså :

dataGrid1.DataSource = ds;
dataGrid1.DataMember = "Products";

dataGrid2.DataSource = ds;
dataGrid2.DataMember = "Products.relProdOrderdet";

-----------------------------------------

Nån som ser felet?


Svara

Sv: Databas, datagrids

Postades av 2004-11-25 13:29:53 - Mikael Wedham

Det kan bli trixigt. Jag vet inte om det går, för att products och orders har en many-to-many relation.
Jag vet faktiskt inte om den reder ut det direkt.

Programmeringsmässigt kan du fixa det genom att köra dataviews och .GetChildRows()
men då måste du som sagt fixa allt själv.

Visa GÄRNA att jag har fel i detta!!!

/micke


Svara

Sv:Databas, datagrids

Postades av 2004-11-29 01:24:36 - Daniel Barsk

Får det att fungera om jag gör så här, men vet inte om det är "rätt" i slutändan.

ds.Relations.Add(new DataRelation("relProdOrderdet",
ds.Tables["Products"].Columns["ProductID"],
ds.Tables["Orderdet"].Columns["ProductID"], false));
ds.Relations.Add(new DataRelation("relOrdersOrderdet",
ds.Tables["Orderdet"].Columns["OrderID"],
ds.Tables["Orders"].Columns["OrderID"], false));
ds.Relations.Add(new DataRelation("relCustomersOrders",
ds.Tables["Orders"].Columns["CustomerID"],
ds.Tables["Customers"].Columns["CustomerID"], false));


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 165
27 952
271 704
611
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies