02. august 2006 - 23:44Der er
8 kommentarer og 1 løsning
hvordan tjekker jeg et timestamp (T-SQL)
Hej,
jeg har en database der bruger TimeStamp typen til at tjekke samtidighed. I min C# applikation anvender jeg business objects og ikke dataset. Når et objekt initialiseres med data fra databasen, indlæser jeg timestamp fra den pågældende tuble. Mit business object har en attribut stamp som er et byte[] på 8 bytes, hvilket stemmer overens med MS SQL timestamp typen. Hertil går det fint.
Nu vil jeg gerne lave en ændring i et af mine objekter og efterfølgende opdatere databasen. Mit problem er bare at få MS SQL til at æde mit objekts timestamp. Jeg har prøvet med følgende:
update (xx,yy) where oid=ZZ and timestamp = "timestamparrayet" det går ikke så jeg prøver:
update (xx,yy) where oid=ZZ and timestamp = "timestamparrayet[0]+timestamparrayet[1]..timestamparrayet[7]
det går heller ikke. I første eksempel kastes der en exception. I andet eksempel får jeg ingen Exception men desværre bliver den pågældende tuble ikke opdateret - sikkert fordi mit timestamp ikke findes i databasen.
Ja - timestamp har ifølge dokumentationen intet med tid at gøre, men er en "unik". Det er DateTime selvfølgelig også. Om man bruger det ene eller andet er vel et spørgsmål om religion. Nu er jeg bare blevet stædig og skal have mit T-SQL timestamp til at fungere :)
det er helt generelt at ved binære data skal man ved INSERT og UPDATE bruge parameters
og svar
Synes godt om
Ny brugerNybegynder
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.