Jag bygger en applikation som är knuten till en SQL-db. På flera ställen visas utsökningar från databasen i ett datagrid eller en listview. För att alltid ha senaste informationen från databasen presenterad uppdateras mina tabeller i ett DataSet ofta. En variant vore att du hade ett datumfält i databasen och sedan bara selectar där datan är ändrad. För att få med "deletes" så kan du köra med en deleted-flagga på posten. Helt riktigt. Funkar ju bra för de databaser man själv styr över, men i andra fall är man rökt. Det snyggaste vore väl att ha triggers i databasen, Triggers var en bra idé! Tack för tanken!Metodik för att kolla efter uppdateringar i DB
Detta medför ju att mitt datagrid uppdateras lika ofta och det stör användaren när man navigerar mellan raderna.
Finns det något bra sätt att kolla om det finns några uppdateringar i databasen innan jag gör den "riktiga" uppdateringen av min DataTable?
Jag har löst det i en tidigare app med att fylla på en paralell dataTable och sedan loopa igenom och jämföra och leta efter uppdateringar. Det låter som en riktig ful-lösning.
Kanske vet någon klok människa hur man gör på riktigt ;)
Tack!
JohanSv: Metodik för att kolla efter uppdateringar i DB
Sv: Metodik för att kolla efter uppdateringar i DB
Finns det något sätt att jämföra DataTables?Sv: Metodik för att kolla efter uppdateringar i DB
så att du får ut typ: LastUpdateTime, LastInsertTime, LastDeleteTime
till en egen tabell. Men det går ju inte om du inte styr över databasen själv..
Då är det nog det enda du kan göra, att fylla en parallell DataTable med data
och jämföra rad för rad. Lämpligen gör du detta i en egen Thread så att användaren kan jobba samtidigt.
Jag skulle rekommendera att du bara kopierar över de ändrade posterna, och inte alla poster, från din tempDataTable till din LiveDataTable.
Och se upp för scenariot att användaren står i edit läge på den post som du ska ändra. Vilket data skall gälla? användaren bör få välja det..
OlaSv: Metodik för att kolla efter uppdateringar i DB
Ska testa mig fram.
Tack!
J