DataSet - RowChanged eventhandler
Jeg har et datasæt, som jeg har bundet til et dataviewgrid. Når brugeren ændrer i dataviewgridet kaldes RowChanged eventhandleren og deri kalder jeg Update på en dataadapter bundet til datasættet og får mine data gemt i databasen.Men ved insert sker der dette:
Først kaldes RowChanged med e.action = "add"
Så kaldes RowChanged med e.action = "Commit"
Så kaldes Rowchanged med e.action = "Changed".
SPØRGSMÅL 1: Den sidste undrer mig. Er det noget min kode gør eller er det normalt?
Det skal lige siges at min insertcommand har ID som input/output parameter og alle input parametre er bundet til datasættets tabel. Måske skyldes den sidste "Changed" at id også er en output parameter (men jeg tvivler fordi applikationen crasher pga id'er der ikke stemmer). ID er en Identity column og den id der er sat i datagridden er ikke nødvendigvis den samme som den får i databasen (multiuser program).
DESUDEN: Hvis jeg starter mit program op i to instanser og retter skiftevis i dem på det samme datagrid, så crasher mit program når den loader (det sker automatisk). Dette skyldes at rækkerne gives en ID i datagridden i applikationen, men en anden i databasen. Derfor vil dette setup give anledning til at rækker indtastet i appl#1 loades op i appl#2 med den samme ID (fra databasen) som en anden række har fået tildelt i appl#2. Dette tyder på at ID ikke ændres i rækken, selvom ID er en outputvariabel.
SPØRGSMÅL 2: Kan man tvinge et datasæt til at blive opdateret med outputparametre fra en insertcommand? Sandsynligvis ikke, men hvad er så standard procedure?
