Avatar billede jochke Nybegynder
11. september 2002 - 14:49 Der er 6 kommentarer og
1 løsning

Lidt database fejl.

Hej Experts.

Får denne fejl:
ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.

/admin/Todo.asp, line 99

I linie 99 står der:
Do Until RS.EOF

I kan også lige få hele den del af koden jeg tror der er bøvl med. Er ikke sikker på min SQL streng er rigtig.

<%
Set Conn = server.createobject("ADODB.Connection")
    Conn.Open "DRIVER=SQL Server;SERVER=localhost;DATABASE=7650;UID=brugernavn;PWD=password;"

Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT TOP 3 FROM Todo WHERE Initial = '"&session("bruger")&"' AND Udført = '1' ORDER BY Slutdato"

Taeller = 0

response.write("<TABLE CELLPADDING=""0"" CELLSPACING=""0"" BORDER=""0""><TR><TD STYLE=""border-bottom:#000000 1px solid;"" WIDTH=""220"">Overskrift</TD><TD STYLE=""border-bottom:#000000 1px solid;border-left:#000000 1px solid;"">&nbsp;Deadline</TD></TR>")
Do Until RS.EOF

response.write("<TR><TD>")
response.write("<A TITLE=""Klik for at redigere."" HREF=""TodoDetaljer.asp?opgave="&rs("ID")&""">"&rs("Emne")&"</A>")
response.write("</TD><TD STYLE=""border-left:#000000 1px solid;"">")
response.write("&nbsp;"&rs("ForventetSlut")&"")
   
Taeller = Taeller +1

rs.movenext
LOOP

RS.close
Set RS = Nothing
Conn.close
Set Conn = Nothing
%>

På forhånd tak.

/Jochke
Avatar billede eagleeye Praktikant
11. september 2002 - 14:52 #1
du skal også havde åbnet dit recordset med SQL'en...prøv at indsætte denne linie:

Set rs = Conn.Execute(SQL)

Do Until RS.EOF                  '<------Lige inden denne
Avatar billede jochke Nybegynder
11. september 2002 - 14:57 #2
Så fås denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'FROM'.

/admin/Todo.asp, line 100

Er det min SQL streng den er galt med?

/Jochke
Avatar billede jochke Nybegynder
11. september 2002 - 15:03 #3
Hvad er forresten forskellen på denne: RS.Open SQL, Conn som jeg selv bruger og denne: Set rs = Conn.Execute(SQL) som du bruger?

/Jochke
Avatar billede eagleeye Praktikant
11. september 2002 - 15:12 #4
Med rs.Open åbner man med recordset som er "linket" til databasen afhængig af hvad man angiver som parameter. Så kan man bruge de forskellige functioner som et recordset stille rådighed.

Set rs = Conn.Execute SQL

Så får man et recordset med data, fra databasen en kopi.
Avatar billede eagleeye Praktikant
11. september 2002 - 15:13 #5
Der skal vist lige en * ind før FROM:

SQL = "SELECT TOP 3 * FROM Todo WHERE Initial = '"&session("bruger")&"' AND Udført = '1' ORDER BY Slutdato"
Avatar billede eagleeye Praktikant
11. september 2002 - 15:14 #6
Hvis Udført er defineret som tal så skal der ikke ' omkring 1 tallet, ligeledes kan kolonne navn med æøå give problemmer i SQL men man kan sætte [] kolonnennanvet [udført]:

SQL = "SELECT TOP 3 * FROM Todo WHERE Initial = '"&session("bruger")&"' AND [Udført] = 1 ORDER BY Slutdato"
Avatar billede jochke Nybegynder
11. september 2002 - 15:33 #7
Oki takker det funkede jo helt fint. :D

Så må du have en god 11. september.

/Jochke
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