Ik ben nu een tijd bezig met het zoeken naar een antwoord om joined tables te kunnen updaten. Ik zal het eerst uitleggen met behulp van wat screenshots.
De applicatie in runtime:

De datagrid is een product van 2 tabellen:

en

Ik gebruik de volgende code om de tables te joinen:
Nu wil ik dus eigenlijk de kolom versienummer kunnen updaten, maar bij het aanroepen van:
Geeft hij de volgende error:
Dynamic SQL generation is not supported against multiple base tables.
Opzich logisch maar wie weet hoe ik dit op een andere manier kan doen? Ik heb wel een werkende manier gevonden door middel van relation aanleggen, maar dit is tevens niet de bedoeling. Ik wil het visueel houden zoals hier:

Het enige wat ik wil is het versienummer kunnen veranderen.
De applicatie in runtime:
De datagrid is een product van 2 tabellen:
en
Ik gebruik de volgende code om de tables te joinen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| private void FillVersies()
{
strCommand = "SELECT s.Applicatie as Applicatie, ID, Versienr as Versienummer,
Datum_update as [Datum Update] FROM Kg_DbSoftwareVersie as v join Kg_DBSoftware as s on
s.appID = v.applicatie where refKcode = '" + cbKlant.Text + "'";
dataAdapter = new SqlDataAdapter(strCommand, strConnection);
dataAdapter.Fill(dataSet, "Versies");
dgVersies.DataSource=dataSet;
dgVersies.DataMember="Versies";
SqlCommandBuilder cmdBldr = new SqlCommandBuilder(dataAdapter);
} |
Nu wil ik dus eigenlijk de kolom versienummer kunnen updaten, maar bij het aanroepen van:
code:
1
| dataAdapter.Update(dataSet, "Versies"); |
Geeft hij de volgende error:
Dynamic SQL generation is not supported against multiple base tables.
Opzich logisch maar wie weet hoe ik dit op een andere manier kan doen? Ik heb wel een werkende manier gevonden door middel van relation aanleggen, maar dit is tevens niet de bedoeling. Ik wil het visueel houden zoals hier:
Het enige wat ik wil is het versienummer kunnen veranderen.