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
Author: StriKe
Date: Mon, 15 May 2006 18:44
Date: Mon, 15 May 2006 18:44
68 lines
3235 bytes
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