Avatar billede canedo Nybegynder
11. maj 2002 - 00:21 Der er 17 kommentarer og
2 løsninger

Vil bare ikke!

Hvad er der i vejen med det her script?

<%
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
Query = "SELECT * FROM indhold WHERE Title = Forsiden"
Set rs = connect.Execute(Query)
rs.Open Query, Connect, 1, 2
%>

<table><tr><td>
<%=rs("Content")%>
</td></td></table>
<%=rs.MoveNext%>
</body>
</html>
<%
Connect.Close
Set Connect = Nothing
%>

FEJLMELDING:
Der er for få parametre. Der var ventet 1.
Avatar billede eagleeye Praktikant
11. maj 2002 - 00:23 #1
Du skal have '' omkring teskt i din SQL -sætning:

Query = "SELECT * FROM indhold WHERE Title = 'Forsiden'"
Avatar billede canedo Nybegynder
11. maj 2002 - 00:25 #2
hmm... virker stadig ikke.
Avatar billede webben Nybegynder
11. maj 2002 - 00:26 #3
Får den stadig samme fejlmeddelse?
Avatar billede eagleeye Praktikant
11. maj 2002 - 00:26 #4
Du åber jo også to gang til et recordset:

Set rs = connect.Execute(Query)
rs.Open Query, Connect, 1, 2

ret til:
Set rs = connect.Execute(Query)
Avatar billede canedo Nybegynder
11. maj 2002 - 00:27 #5
Nu lyder fejlmeldingen sådan:
Den handling, programmet anmodede om, er ikke tilladt, hvis objektet er åbent.
Avatar billede webben Nybegynder
11. maj 2002 - 00:27 #6
Der er da også noget helt hen i skoven med det loop du prøver at køre
Avatar billede eagleeye Praktikant
11. maj 2002 - 00:29 #7
Hvor er din Connection "connect" ?

Vil du udskrive flere record fra databasen så skal du lave et loop:

<table><tr><td>
<% do while not rs.EOF %>
<%=rs("Content")%>
</td></td></table>
<%=rs.MoveNext%>
<% loop %>
Avatar billede canedo Nybegynder
11. maj 2002 - 00:30 #8
webben > hvorfor det? Ja, jeg har ikke prøvet at hente noget fra en database med denne metode før... men det er fordi jeg bare skal have hentet noget i en tabel hvor kolonnen 'Title' indeholder 'Forsiden' og fra samme række skal jeg hente noget - i en anden kolonne... sådan ser db ud:

Id  Title      Content
1    Forsiden  bla bla bla
2    Kontakt    info@canedo.dk
3
4
Avatar billede webben Nybegynder
11. maj 2002 - 00:30 #9
<table>
<tr>
  <td>

<%
do until rs.eof

response.write rs("content")
%>
  </td>
</tr>
</table>

<%
rs.movenext
loop
rs.close
%>


+ prøv med en lidt kortere version af din kaldelse til databasen.. det kan lade sig gøre med

set rs = connect.execute("SELECT * FROM indhold WHERE title='forsiden'")

bare et tip

:)
Avatar billede webben Nybegynder
11. maj 2002 - 00:31 #10
den laver det du gerne ville have
Avatar billede eagleeye Praktikant
11. maj 2002 - 00:31 #11
du skal havde en connection:

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("dindatabasefil.mdb")
Avatar billede canedo Nybegynder
11. maj 2002 - 00:31 #12
min connection fejler ikke noget - den virker fint på alle de andre 20 sider - med en includefil. :
<%
Dim Connect, connString
Set Connect = Server.CreateObject("ADODB.Connection")
connString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("admin/access/canedo.mdb")
Connect.Open connString
%>
Avatar billede webben Nybegynder
11. maj 2002 - 00:33 #13
duer det nu eller ???
Avatar billede eagleeye Praktikant
11. maj 2002 - 00:33 #14
Jeg vil klart anbefale denne metode:
Query = "SELECT * FROM indhold WHERE Title = Forsiden"
Set rs = connect.Execute(Query)

Da du let kan sætte en Response.Write Query ind inden execute hvilker kan være en fordel når man har problemmer med sin SQL for at se hvad der går galt. Ligeledes kan den let deles op på flere linier.
Avatar billede webben Nybegynder
11. maj 2002 - 00:34 #15
eagleeye --> det handler om erfaring med den anden, vender man sig til den ser man hurtigt fejlen som ved den anden... men du har ret, den er lidt mere vanskelig at se fejlen i den hvis man ikke er vand til at bruge den :D
Avatar billede canedo Nybegynder
11. maj 2002 - 00:35 #16
Webben > Jeg har lige prøvet at sætte dit script ind, men jeg får stadig samme tilbagemelding:

ADODB.Recordset fejl '800a0e79'

Den handling, programmet anmodede om, er ikke tilladt, hvis objektet er åbent.

/canedo/forside.asp, linje 13


linie 13 er:
rs.Open Query, Connect, 1, 2
Avatar billede eagleeye Praktikant
11. maj 2002 - 00:37 #17
som jeg skrev i 4 indlæg:

Du åber dit recordset to gang efter hinanden:
Set rs = connect.Execute(Query)
rs.Open Query, Connect, 1, 2

Ret til:
Set rs = connect.Execute(Query)

Eller ret til:
rs.Open Query, Connect, 1, 2
Avatar billede canedo Nybegynder
11. maj 2002 - 00:43 #18
Nu virker det - utroligt som man kan blive ved med at blive klogere i det her ASP.
Avatar billede webben Nybegynder
11. maj 2002 - 00:44 #19
:)
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