God pointe Nute, men det det at lade sql klare opgaven er ikke nogen god ide hvis du også skal benytte recordsne. I så tilfælde vil du skulle lave to forespørgsler til databasen, hvilket koster to gange netværkstrafik.
Set RS = conn.Execute(SQLStatement) if RS.BOF and RS.EOF then arraySize = -1 else dataArray = RS.GetRows( maxantal ) arraySize = UBound( dataArray ) end if
hf >> count er ikke en metode på recordset objectet. hvis metoden returnerer -1, så er det typisk ikke noen records ;-)
cyb >> hmmm...det er en stor diskusjon hva man vil gjøre. *jeg* ville nok benyttet SQL COUNT, men det kommer jo selvfølgelig helt an på hvordan de ulike metodene i språkene er implementert. hvis count metoden i et språk er en egenskap som ligger knyttet til recordset objektet, jammen så vil jeg da klart utelate SQL COUNT (siden dette genererer dubletter og dermed større IO), men hvis count metoden er avhengig av en iterasjon av recordset\'et etter mottagelse, jammen så vil jeg heller benytte SQL COUNT
jeg er rimelig sikker på at både .GetRows og .recordCount er implementert på den sist nevnte måte, og vil derfor (hvis jeg hr bruke for flere data) benytte en følgende SQL:
SQL = \" SELECT COUNT(ID) AS total, ID, tekst FROM tabell\"
HF> Hvis du falder over svaret på egen hånd må du meget gerne sige til, jeg har samme problem, og får også recordcount = -1 selvom den derefter udskriver 12 records
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.