[C# .Net] Relatie tussen tabellen in dataSet

Pagina: 1
Acties:

  • davhor
  • Registratie: Mei 2003
  • Laatst online: 02-12-2025

davhor

www.fon.com

Topicstarter
Na heel MSDN en Google te hebben afgezocht stel ik nu toch mijn vraag.

Ik probeer twee tabellen in een dataset relationeel met elkaar te verbinden, maar ik krijg de volgende foutmelding:

Parent Columns and Child Columns don't have type-matching columns

Het gaat hierbij om de volgende database gegevens die ik probeer te koppelen:
Nummer 1
Table: klant01
Id: klant_id
Soort: Int (autonummering)

Nummer 2
Table: klant02
Id: klant_id
Soort: Int

Ik gebruik hiervoor de volgende code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DataSet ds = new DataSet("Gegevens");
                        conn.Open();
            OleDbDataAdapter cmd = new OleDbDataAdapter("SELECT * FROM klant01",conn);
            cmd.Fill(ds,"klant01");
            conn.Close();
            
                        conn1.Open();
            OleDbDataAdapter cmd1 = new OleDbDataAdapter("SELECT * FROM klant02",conn);
            cmd1.Fill(ds,"klant02");
            conn1.Close();

            DataRelation DRelation = new DataRelation("Klanten", ds.Tables["klant01"].Columns["klant_id"], 
ds.Tables["klant02"].Columns["klant_id"],false);
            ds.Relations.Add(DRelation);
            
            dtGrid.SetDataBinding(ds,"klant01.Klanten");
            dtGridDetails.SetDataBinding(ds,"klant01.Klanten");

FON - WiFi for Everyone | Flickr


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:52
Waarom open en sluit je je connectie iedere keer als je een select doet?
In dit geval is dat niet nodig, ik zou m'n connectie 1x openen, de 2 select statements doen, en ze dan opnieuw sluiten.

Ivm je probleem: kijk eens voor je de DataRelation maakt wat het type is in de dataset van beide columns in beide tables.

https://fgheysels.github.io/


  • davhor
  • Registratie: Mei 2003
  • Laatst online: 02-12-2025

davhor

www.fon.com

Topicstarter
whoami schreef op 20 september 2004 @ 16:39:
Waarom open en sluit je je connectie iedere keer als je een select doet?
In dit geval is dat niet nodig, ik zou m'n connectie 1x openen, de 2 select statements doen, en ze dan opnieuw sluiten.

Ivm je probleem: kijk eens voor je de DataRelation maakt wat het type is in de dataset van beide columns in beide tables.
Inderdaad niet zo netjes om twee keer de connection te openen.

En betreffende het probleem. Ik ga even uitzoeken hoe ik dit doe en het dan toepassen. Alvast bedankt.

FON - WiFi for Everyone | Flickr


  • davhor
  • Registratie: Mei 2003
  • Laatst online: 02-12-2025

davhor

www.fon.com

Topicstarter
De 1 is inderdaad een INT32 en de ander een Double.

Is een column in een dataTable nog te converten naar een ander Datatype?

edit:
Vergeten vorig item te editen i.p.v. niet reply te geven

FON - WiFi for Everyone | Flickr


  • whoami
  • Registratie: December 2000
  • Laatst online: 16:52
Je kan het probleem natuurlijk ook aanpakken door het datatype in je databank te veranderen.

https://fgheysels.github.io/