Avatar billede segato Nybegynder
09. september 2005 - 13:32 Der er 1 kommentar og
1 løsning

Updatering af dataset fra database

Jeg har et dataset jeg fylder med data fra en stored procedure med joinet data. Hver 30 sekund vil jeg gerne have opdateret de data i tilfælde af andre brugere har ændret i data på databasen. Men der er jo ingen grund til at hente alt data hver gang, hvis f.eks. der ingen ændringer er sket, eller kun enkelte rækker er ændret. Hvordan løser jeg dette problem på bedste måde?
Avatar billede jzip Nybegynder
16. september 2005 - 11:16 #1
Hej segato

For at du kan få din ide til at virke, skal første udtræk være et total udtræk, f.eks. når en bruger første gang skal se data, briver vedkommende nødt til at hente alle data, der er jo ok....

I databasen gemmes tidspunktet for dette total udtræk kaldet "total_ts".

De data som brugeren får fra databasen skal indeholde et timestamp, f.eks. en ekstra kolonne der hedder "aendre_ts". Denne kolonne beskriver hvornår der er blevet ændret i data rækken.

Din stored procedure som kører hvert 30. sekund, skal ligene dette:

select * from minTabel where aendrs_ts > total_ts;

updata minTidsTabel total_ts = DataTime.Now;

Dvs. du får kun de rækker tilbage som er ændre siden du lavede dit total udtræk. Du skal huske at opdatere "total_ts" efter hvert gennemført udtræk, for ellers ville du jo få flere og flere ændringer.

Håber du kan bruge ideen.

Mvh

jZip.dk
Avatar billede segato Nybegynder
16. september 2005 - 12:38 #2
Ideen er der takker for dit indslag. Det eneste problem er rækker også kan være slettet:D Men meget rart at høre andres ideer så dit svar er accepteret. Jeg tror den "korrekte" løsning er at bruge diffgrams. De kan finde ud af at lave en opdatering op i mod hele tabellen.
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