17. marts 2006 - 23:21Der er
24 kommentarer og 1 løsning
Hvor for jeg kun 1 post !
Hej Eksperter...
Jeg er ved at lave en statestik og har et problem...
Jeg har denne kode: SQL = "SELECT * FROM nytabel2006_statastik_log_unikke" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL, Conn,1, 2 DO WHILE NOT rs.EOF
Kan i hurtigt, se en fejl jeg har lavet for jeg kan ikke...! Den henter kun den første post fra databasen...! Den skal jo gå alle poster igennem...!
Flere kommuner går nu i gang med at bruge AI-understøttet dokumentation. Målet er, at sagsbehandlere skal bruge mindre tid på referater og registrering – og mere tid på nærvær i mødet med borgeren.
Set rs_count = Server.CreateObject("ADODB.Recordset") rs_count.Open SQL, Conn,1, 2 log_post_brugere = rs_count("log_post_brugere") rs_count.Close 'ny linie Set rs_count = nothing 'ny linie
Det samme gælder hvor der sætte ind i den anden tabel:
rs_rull.Close 'ny linie Set rs_rull = nothing 'ny linie
SQL = "SELECT count(*) as log_post_brugere FROM nytabel2006_statastik_log_unikke WHERE ip = '" & ip_nr & "' AND count = " & count_nr & "" Set rs_count = Server.CreateObject("ADODB.Recordset") rs_count.Open SQL, Conn,1, 2 log_post_brugere = rs_count("log_post_brugere") rs_count.Close 'ny linie Set rs_count = nothing 'ny linie
%><script>alert('<%=ip_nr%>');</script><%
SQL = "SELECT * FROM nytabel2006_statastik_buffer_brugere" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL, Conn,1, 2 rs.addnew rs("count") = log_post_brugere rs("ip") = ip_nr rs("sprog") = sprog_op rs.Update rs.Close 'ny linie Set rs = nothing 'ny linie
Om til dette så det er i SQL sætningen den tjekker om IP'en og count findes. Findes den ikke tilføjes en ny. Fejlen opstår hvis rs er tomt. Så prøv sådan her, jeg har antaget at count kolonnen er en tal kolonne:
SQL = "SELECT * FROM nytabel2006_statastik_buffer_brugere where ip = '" & ip_nr & "' and [count] = " & count_nr Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL, Conn,1, 2
Så vidt jeg kan se ligger du variblen: log_post_brugere ind i count men tjekker på om count er lig varialben count_nr hvilken en af de to skal det være??
Hvis det skal være log_post_brugere, så prøv at rette denne linie:
SQL = "SELECT * FROM nytabel2006_statastik_buffer_brugere where ip = '" & ip_nr & "' and [count] = '" & count_nr & "'"
Til dette:
SQL = "SELECT * FROM nytabel2006_statastik_buffer_brugere where ip = '" & ip_nr & "' and [count] = '" & log_post_brugere & "'"
Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL, Conn,1, 2
det samme som:
Set rs_kald = Conn.Execute(SQL)
Både ja og nej. Man får det samme ud af det. Et recordset med data fra database. Den første metode er det recordsetet som connecter til database og får data i sig. Den anden metode er det connection som executer en SQL og ligger data ind i et recordset. Typsik er der ingen forskel på de to og man man frist vælge hvilken metode man ønker at bruge. Der er en undtagelse hvor den første metode skal bruges og det er hvis man vil lave paging og det er fordi man bruger bookmarks og speical properties på recordset som kun bliver sat i ved første metode.
og hvad gør at du lige satte: int(count) rundt om count og hvorfor har du sat count i [] tidligere ex. [count]
Int(count), int() er en funktion som konverter en teskt til et tal. Teksten skal indeholde et tal, men fordi typen er teskt vil sorteren ikke give det man forventer. Klammerne omkring [count] betyder at det som er inden for klammerne er et kolonnenavn eller tabelnavn i SQL sætningen. Man bruger det hvis et navne indeholder uheldige tegn som - og +. Samt når man bruger reserverede ord som kolonnenavne, count bruger til at tælle med så for at undgå fejl sætte jeg [] omkring. Men den brokker sig åbenbart ikke over count i ORDER BY delen..
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.