27. august 2000 - 18:12Der er
6 kommentarer og 1 løsning
Insert/update af tabel
Hej
jeg har en kommasepereret fil, som skal sykroniseres, dvs. at den skal tage de data fra filen, og ligge ind i databasen (SQL server 7 base).
Det scriptet skal er: 1 Tjekke om id\'et findes i databasen, og opdatere hvis det gør. 2 Hvis det ikke findes i databasen, skal den tilføje i databasen.
jeg har lavet et script der gør det, men det er ikker særlig hurtigt (1894 poster på 90 sekunder). Findes der en måde hvorpå man kan se hvor mange records en UPDATE statement har influeret på? Ellers skal der laves et query pr. post, og det koster recurser og tid.
Hvor CommandText er SQL querien, og options er netop options. Du er interesseret i RecordsAffected som er en long hvori ADO gemmer det antal records der er blevet opdateret.
Bruger du Command objektet kan noget tilsvarende gøres. Command objektet\'s execute method ser ud som følger:
Jeg kan ikke se hvordan briankl\'s svar overhovedet har kunnet hjælpe dig med det performance problem du sagde dit script havde. Det eneste han svarer på er hvordan man får recordsaffected værdien, og det svar kunne man have fundet ved at kigge i ADO dokumentationen.
ved at kunne springe query delen over - Man køre bare et update, og hvis den har influeret på 0 records, opretter den en record, og videre til den næste....
Istedet for at man skulle selecte ud fra basen, tjekker om den var eof/bof, og så enten update/inserte.
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.