Tjena
Jag vill i samband med en sökfunktion på en sajt kunna visa antalet träffar ovanför sökresultaten.
Nu undrar jag om det finns någon funktion i SQL-Server / ASP likt mysql_num_rows resp. mssql_num_rows som finns i PHP.
Jag har Googlat lite och hittat något som heter @numrows, men har ingen aning om hur det fungerar eller hur jag ska använda.
Jag har testat lite, bla. SELECT @numrows AS antal, * FROM x ... men då får jag ett felmess som säger att jag måste deklarera variabeln @numrows.
Så, hur funkar det egentligen?
Tack!
LarsGMedlem sedan dec. 200012 464 inlägg @@rowcount eller @@rowcount_big
Du får returnera den separat.
Okej, vad är skillnaden mellan dessa två?
Kan jag köra conn.execute("SELECT @@rowcount") direkt efter min ordinarie Execute()?
Funkar det på liknande sätt som @@IDENTITY, så att man inte behöva ange någon tabell?
Hm, det fungerar inte riktigt som jag trodde, såhär har jag gjort:
Set rs = conn.Execute (sql)
Set hits = conn.Execute("SELECT @@ROWCOUNT")
search_hits = hits(0)
hits.close : Set hits = Nothing
Den översta raden exekverar själva frågan och direkt under försöker jag få ut antal rader.
Men search_hits blir alltid 0 (noll).
Vad har jag gjort för fel?
@ndersMedlem sedan juni 200032 969 inlägg Om det är en select-fråga du kör så påverkar den inga poster i tabellen, så det är rätt att du får 0.
Okej, men det jag vill är att på ett enkelt sätt räkna antalet träffar i en sökfunktion (som använder SELECT).
Frågan som ska köras är olika beroende på vad man vill söka fram, så jag är ute efter ett enkelt sätt att visa antalet träffar ovanför resulten, därför kan jag inte med. tex hjälp av i räkna hur många varv loopen körs.
Fler förslag`?
@ndersMedlem sedan juni 200032 969 inlägg Använd recordsetobjektets recordcount (kräver att du öppnar recordsetet med en dynamisk cursor).
Okej, du har inte lust att visa lite kod?
@ndersMedlem sedan juni 200032 969 inlägg Hmm, grymt konstigt att du inte fann något när du sökte på recordcount i asp-forumet... Jag fick iaf drygt en miljard träffar där och på google.
set oRS = Server.CreateObject("ADODB.Recordset")
oRS.Open SQL, Conn, 3,1
lCount = oRS.RecordCount
@nders skrev:
Hmm, grymt konstigt att du inte fann något när du sökte...
Inte så konstigt, eftersom jag inte sökte där...