🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
1 messages
1 total messages Started by StriKe Mon, 15 May 2006 18:44
VB.NET: Probleem met relaties in dataset
#741
Author: StriKe
Date: Mon, 15 May 2006 18:44
68 lines
3235 bytes
Hallo,

Ik heb een tweetal tabellen: tblDvd en tblBestelling.

Deze zijn in mijn access database via een 'een-op-meer' relatie met 
elkaar verbonden. (1 dvd kan meerdere keren besteld worden).

Nu tracht ik deze relatie ook in een dataset te stoppen, om ze alzo te 
kunnen gebruik in een vb.net applicatie.

Mijn bedoeling:
als ik in een datagrid een bestellijn selecteer moet naast de gegevens 
die daarin zijn terug te vinden ook in een tekstveld de titel van de 
dvd worden weergegeven.

Die titel zit uiteraard in tblDvd.

(in tblBestelling zit een veld dvdId die als foreign key verwijst naar 
de primary key van tblDvd)

Wanneer ik dan in een tekstveld de titel van de dvd plaats gebeurt er 
iets heel eigenaardig: de eerste keer (bij het laden van het form dus) 
wordt gewoon de eerste titel in mijn tblDvd genomen. Als ik dan van rij 
verander wordt de tweede Dvd genomen, verander ik nog eens, de derde 
etc Dus nooit de dvd die in dvdId (tblBest) aangegeven staat.

Weet iemand wat het probleem zou kunnen zijn?
Hier onder alvast mijn code die relevant is:

Dim daBest As New OleDbDataAdapter

sqlSelectBest = _
  "select id as [pkBestId], orderId, dvdId, aantalDvd, gehuurdVanaf,    
gehuurdTot, status from tblBestelling where verhuur='Ja'"

daBest.SelectCommand = New OleDbCommand(sqlSelectBest, cnn)

dim daDvd as New OleDbDataAdapter
sqlSelectDvd = "select id as [pkDvdId], titel from tblDvd"

daDvd.SelectCommand = new OleDbCommand(sqlSelectDvd, cnn)

ds.Tables.Add("dtBest")
ds.Tables.Add("dtDvd")

daBest.Fill(ds, "dtBest")
daDvd.Fill(ds, "dtDvd")

Dim fk2 As ForeignKeyConstraint
     fk2 = New ForeignKeyConstraint("fk_dvd_best", _
          ds.Tables("dtDvd").Columns("pkDvdId"), _
          ds.Tables("dtBest").Columns("dvdId"))
     fk2.DeleteRule = Rule.None
ds.Tables("dtBest").Constraints.Add(fk2)

Dim rel2 As DataRelation
     rel2 = New DataRelation("rel_dvd_best", _
           ds.Tables("dtDvd").Columns("pkDvdId"), _
           ds.Tables("dtBest").Columns("dvdId"))
ds.Relations.Add(rel2)

TdgBest.DataSource = ds.Tables("dtBest")

-- 
Groeten,
StriKe

http://www.internetfreakz.be
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads