Function oracle(sRSSource) 'if oracleConnObj.State = 0 then OoracleConn() 'end if Set oracleObj = Server.CreateObject("ADODB.Recordset") oracleObj.Open sRSSource, oracleconn, 1,&H0002 RSCounter = oracleObj.RecordCount Set oracle = oracleObj
Når jeg fjerner dette stykke kode virker det fint:
<select name="dato" class="login"> <% set datoer = oracle("select distinct(dato) from hitrate_dk order by dato DESC") while not datoer.eof %> <option value="<% =datoer("dato") %>"><% =datoer("dato") %></option> <% datoer.movenext wend set datoer = nothing %> </select>
Under alle omstændigheder får du fejl hvis der ikke er nogen poster i hitrate_dk for dags dato, så det burde du nok rette. Jeg har ikke arbejdet med oracle, så jeg ved ikke om der er specielle ting at tage hensyn til m.h.t. sql - normalt skriver jeg SELECT DISTINCT dato i stedet for SELECT DISTINCT(dato), men har lige testet i Access og begge dele fungerer fint så det er næppe det...
jeg har også prøvet at tage distinct med i min første select sætning så jeg allerede har resultatet der: <% set rs = oracle("select distinct(dato) as dato,* from hitrate_dk where dato = '" & date() & "' and navn <> 'dagstotal' order by hitrate DESC") %>
...men det virker heller ikke. Ved ikke om det overhovedet kan lade sig gøre i samme sætning?
Dine funktioner virker fint, jeg har lige bakset en access db sammen med de samme feltnavne som du bruger - og jeg får ingen fejl med distinct. Jeg tror stadig mest på at det er det første recordset (rs) der laver fejl. Når du får lejlighed til at prøve det synes jeg du skal teste det ved at smide en 'if not rs.eof' rundt om den øverste tabelrække. Som sagt kan der være noget oracle-specifikt - evt. med dato-formattering, men den stump kode du mener der er fejl i er meget enkel, så...
Hvor mange linier har du ovenover det du har sendt (af hensyn til fejl-linie nr)? -Kim
Jeg har ikke flere gode ideer lige nu... Som sagt virker det hos mig i en Access - med datoer i drop-down box og farver osv. Lad os se på det imorgen, når du har adgang til at teste. M.v.h. Kim
Ja. Nu bliver jeg stædig... Her er din kode, hvor jeg har pillet alt der ikke har noget med recordsettet 'datoer' at gøre ud, prøv at gemme den som f.eks. 'test1.asp' og se om der sker noget. Kim
<% dim oracleconn, oracleobj
Function OoracleConn() Set oracleconn = Server.CreateObject("ADODB.Connection") oracleConn.Open "dsn=xal1;uid=web_test;pwd=web_test_psw;" End Function
Function oracle(sRSSource) 'if oracleConnObj.State = 0 then OoracleConn() 'end if Set oracleObj = Server.CreateObject("ADODB.Recordset") oracleObj.Open sRSSource, oracleconn, 1,&H0002 RSCounter = oracleObj.RecordCount Set oracle = oracleObj
Set oracleObj = Nothing End Function
Sub Closeoracle() oracleConn.Close End Sub %>
<% set datoer = oracle("select distinct(dato) from hitrate_dk order by dato DESC") while not datoer.eof response.write datoer("dato") & "<br>" datoer.movenext wend set datoer = nothing %>
Tre ting mere, du kan prøve for at finde fejlen (en ad gangen): 1: Test en helt skrabet sql: set datoer = oracle("select dato from hitrate_dk")
2: Fjern linien 'Set oracleObj = Nothing' i functionen oracle
3: Fjern de to sidste parametre fra den linie der åbner recordsettet: oracleObj.Open sRSSource ', oracleconn, 1,&H0002 (Også RSCounter, da den er afhængig af cursor-typen)
jeg kan sagtens lave en helt almindelig sql. det har jeg hele tiden kunne, men lige meget hvad jeg gør så melder den fejlen når jeg vil lave en distinct eller Sum..
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.