Der er heller ikke noget i vejen med at stræbe efter at lave mere effektiv kode. Ovenstående belaster databasen mindre idet:
1) Der er kun 1 kald i stedet for 2, og 2) Da løsningen ikke bruger ORDER BY, spare databasen at skulle sortere hele tabellen før at den kan returnere det første element.
strSQL= "SELECT Max(dato) As MaxDato, Min(dato) AS MinDato FROM kalender WHERE gruppe='115'" Set rs = conn.execute(strSQL) skal jeg så udskrive dem: response.write rs.MAxDato response.write rs.MinDato ?
Jeg er godt nok ikke så hurtig! Det er jo meningen at jeg skal have flere records ud, jeg ved ikke om det er mig der gør noget forkert, når jeg tænkte at jeg kunne gøre sådanne her: strSQL="SELECT besked, overskrift, starttid, sluttid, Max(dato) As MaxDato, Min(dato) AS MinDato FROM kalender WHERE gruppe='115'" Set rs = conn.execute(strSQL) if not rs.eof or rs.bof then session("overskrift") = rs("overskrift") session("besked") = rs("besked") starttid = CStr(left(rs("starttid"),5)) sluttid = CStr(left(rs("sluttid"),5)) session("strDato1") = rs("MaxDato") session("strDato2") = rs("MinDato") 'response.write "<br>" &starttid & " - " & sluttid & "<br>" 'response.write session("strDato1") & " - " & session("strDato2") end if
JEg får denne fejl Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Du har forsøgt at køre en forespørgsel, der ikke medtager det angivne udtryk "besked" som en del af en aggregatfunktion. /default.dk/kalender/edit.asp, line 44
Hele min table ser så danne ud: id|dato|overskrift|gruppe|besked|starttid|sluttid
Mig bekendt kan det godt lade sig gøre i én SQL sætning. Du skal bare huske at opføre alle felter som ikke bruges af en aggregat funktion (som er SUM, COUNT, AVG osv.) på en GROUP BY, altså i dit tilfælde:
strSQL="SELECT besked, overskrift, starttid, sluttid, Max(dato) As MaxDato, Min(dato) AS MinDato FROM kalender WHERE gruppe='115' GROUP BY besked, overskrift, starttid, sluttid"
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.