Avatar billede webs Nybegynder
28. december 2000 - 13:24 Der er 31 kommentarer og
2 løsninger

Asp

Skulle dette være rigtigt?

SQL = \"Select count(id) as antal from test WHERE id\"
Avatar billede hooo Nybegynder
28. december 2000 - 13:26 #1
SQL = \"Select count(id) as antal from test\"
Avatar billede lip Nybegynder
28. december 2000 - 13:26 #2
Prøv dette
SQL = \"Select count(*) as antal from test WHERE id;\"
lip
Avatar billede tdaugaard Nybegynder
28. december 2000 - 13:27 #3
nej!

SQL = \"SELECT COUNT(id) AS antal FROM test WHERE id=0;\"

eller bvad ID nu skal være.. hvis du vil tælle ALT skal du helt fjerne WHERE delen
Avatar billede webs Nybegynder
28. december 2000 - 13:30 #4
hvis jeg vil tælle det antal poster der er i id rækken, skal det så være:

SQL = \"SELECT COUNT(id) AS antal FROM test WHERE id=0;\"
Avatar billede tdaugaard Nybegynder
28. december 2000 - 13:42 #5
SQL = \"SELECT COUNT(id) AS antal FROM test\"

er den du skal bruge
Avatar billede webs Nybegynder
28. december 2000 - 13:51 #6
Skal den så hentes med:

response.write \"<table border=\'0\' font-size: 8 pt\'><font face=\'Verdena\' size=\'1\' color=\'#000000\'><b>\" & Record(\"antal\") & \" : </b></font>\"
Avatar billede broodwar Nybegynder
28. december 2000 - 13:52 #7
SQL = \"Select count(id) as antal from test WHERE id\" & request(\"Id\")

Så henter den fil nummer tre i databasen hvis du skrive www.dinside.dk/ditdokument.asp?id=3
Avatar billede tdaugaard Nybegynder
28. december 2000 - 13:54 #8
webs:> nemlig!
Avatar billede webs Nybegynder
28. december 2000 - 14:00 #9
så skriver den

ADODB.Recordset error \'800a0cc1\'

Item cannot be found in the collection corresponding to the requested name or ordinal.
Avatar billede tdaugaard Nybegynder
28. december 2000 - 14:01 #10
hmm .. har du et felt der hedder ID ?
Avatar billede webs Nybegynder
28. december 2000 - 14:01 #11
id
Avatar billede tdaugaard Nybegynder
28. december 2000 - 14:07 #12
hmm .. den fatter jeg godtnok ikke .. du kan også prøve med

SQL = \"SELECT COUNT(*) AS antal FROM test\"
Avatar billede lip Nybegynder
28. december 2000 - 14:09 #13
du antallet udskrive den således i din tabel
<%=Record(\"antal\")%>

Avatar billede tdaugaard Nybegynder
28. december 2000 - 14:11 #14
lip:> så læs dog med!!! han laver en response.write hvor han sagtens kan bruge \" & Record(\"antal\") & \"
Avatar billede lip Nybegynder
28. december 2000 - 14:12 #15
Ups - Undskyld
lip
Avatar billede webs Nybegynder
28. december 2000 - 14:14 #16
SQL = \"SELECT COUNT(*) AS antal FROM test\" virker hellere ikke
Avatar billede tdaugaard Nybegynder
28. december 2000 - 14:14 #17
lip:> det\' ok :-)
Avatar billede webs Nybegynder
28. december 2000 - 14:15 #18
Skal der ændres noget i databasen for at det virker?
Avatar billede lip Nybegynder
28. december 2000 - 14:34 #19
har du executet din sql-streng rigtigt
Et bud på hvordan den kan se ud;
<%
Set oC_Conn = Server.CreateObject(\"ADODB.Connection\")
oC_Conn.Open(\"dit database navn\")

SQL = \"SELECT COUNT(*) AS antal FROM test\"
Set Record = Oc_Conn.Execute(SQL)
%>

response.write \"<table border=\'0\' font-size: 8 pt\'><font face=\'Verdena\' size=\'1\' color=\'#000000\'><b>\" & Record(\"antal\") & \" : </b></font>\"

Avatar billede webs Nybegynder
28. december 2000 - 14:40 #20
Måske, men nu ser den sådan her ud:

<%
  Set Rs = Server.CreateObject(\"ADODB.Connection\")
  DBPath = \"DBQ=\" & server.mappath(\"test.mdb\")
  Rs.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath
SQL = \"Select top 5 * from test order by id desc;\"
SQL = \"SELECT COUNT(id) AS antal FROM test\" 
Set Record = Oc_Conn.Execute(SQL)
%>


--

Det giver denne fejl:

Microsoft VBScript runtime error \'800a01a8\'

Object required: \'Oc_Conn\'

Avatar billede lip Nybegynder
28. december 2000 - 14:47 #21
Den sidste linje skal ihvertfald se således ud
Set Record = Rs.Execute(SQL)
Avatar billede webs Nybegynder
28. december 2000 - 14:51 #22
Hopper lidt mellem de fejl..

nu er den:

ADODB.Recordset error \'800a0cc1\'

Item cannot be found in the collection corresponding to the requested name or ordinal.
Avatar billede lip Nybegynder
28. december 2000 - 15:09 #23
  Set Rs = Server.CreateObject(\"ADODB.Connection\")
  DBPath = \"DBQ=\" & server.mappath(\"test.mdb\")
  Rs.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath
SQL = \"SELECT COUNT(id) AS antal FROM test\" 
Set Record = Rs.Execute(SQL)

SQL = \"Select top 5 * from test order by id desc;\"
Set toppen = Rs.Execute(SQL)

Du skal skilde dine sql kald i to,
dine reference til følgende kald; \"Select top 5 * from test order by id desc;\"
skal så bare rettes til toppen istedet for Record.

Avatar billede webs Nybegynder
28. december 2000 - 15:16 #24
Fejlen er der desværre endnu
Avatar billede lip Nybegynder
28. december 2000 - 15:32 #25
Tja, det virker hos mig!!
Når jeg fremprovokere den samme fejl som du har.
Så retter jeg i sql-kaldet, så får jeg nemlig samme fejl.
Så jeg har en ide om at fejlen ligger der, men jeg kan åbentbart ikke finde den.
Prøv at rette SQL til strSQL alle de steder hvor du skriver SQL.
Har du evt. flere sql kald på denne her side- hvor det evt. kunne gå galt!!?

Avatar billede webs Nybegynder
28. december 2000 - 15:40 #26
<%
  Set Rs = Server.CreateObject(\"ADODB.Connection\")
  DBPath = \"DBQ=\" & server.mappath(\"test.mdb\")
  Rs.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath
  strSQL = \"SELECT COUNT(id) AS antal FROM test\" 
  Set Record = Rs.Execute(strSQL)

  strSQL = \"Select top 5 * from test order by id desc;\"
  Set toppen = Rs.Execute(strSQL) 
%>
--
Senere i scriptet:

<%  \'finder tag i databasen
    If \"\" = Request.QueryString(\"Mode\") then
    strSql = \"Select * from test order by id DESC\"
    Set Record =  Rs.Execute(strSql)

Do While Not Record.EOF
response.write \"<table border=\'0\' style=\'font-family: Verdana; font-size: 8 pt\'><font face=\'Verdena\' size=\'1\' color=\'#000000\'><b>\" & Record(\"hjalp\") & \" : </b></font>\"
response.write \"<font face=\'Verdena\' font color=\" & Record(\"go\") & \" size=\'1\'> \" & Record(\"jep\") & \" </font>\"
response.write \"<font face=\'Verdena\' size=\'1\' color=\'08335A\'>[\" & Record(\"sidste\") & \"]</font><br>\"
response.write \"<font face=\'Verdena\' size=\'1\' color=\'08335A\'>[\" & Record(\"antal\") & \"]</font><br>\"

Record.MoveNext
    Loop
    Record.Close
    RS.Close
  end if
%>
Avatar billede lip Nybegynder
28. december 2000 - 15:46 #27
Okay!
Du må ikke bruge  - Set Record = Rs.Execute(strSql) -
to gange,
den nemmeste er at lave det første kald om.
Kald det evt. RecObj i stedet for Record.
således;
  strSQL = \"SELECT COUNT(id) AS antal FROM test\" 
  Set RecObj = Rs.Execute(strSQL)

Husk så at lave [\" & RecObj(\"antal\") & \"] om også.
Nu skulle det virke ;0)
Avatar billede tdaugaard Nybegynder
28. december 2000 - 16:08 #28
lip:> Du må bruger Set Record = Rs.Execute liugespå mange gange du har lyst til!
Avatar billede lip Nybegynder
28. december 2000 - 16:12 #29
tdaugaard-
da ikke når det er tre forskellige sql kald, det giver da ikke mening!!
lip
Avatar billede webs Nybegynder
28. december 2000 - 16:15 #30
Nu virker det.

Tak for hjælpen.
Avatar billede tdaugaard Nybegynder
28. december 2000 - 16:18 #31
lip:> jo, hvis ikke du bruger dem sammen så må du godt.
Avatar billede lip Nybegynder
28. december 2000 - 16:19 #32
Men det gør webs jo i denne her situation!!
Avatar billede tdaugaard Nybegynder
28. december 2000 - 16:25 #33
lip:> okæi .. det havde jeg ikke lige set .. ;o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester