Avatar billede iakob Nybegynder
05. januar 2007 - 11:08 Der er 1 løsning

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?
Avatar billede iakob Nybegynder
10. januar 2007 - 10:44 #1
Tråden afsluttes
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester