05. april 2004 - 13:26
Der er
25 kommentarer og 2 løsninger
tagwall problem
Hvad sker der her?? Koden fejler med: Microsoft VBScript runtime error '800a01f4' Variable is undefined: 'adOpenForwardOnly' /tagwall/tagwall.asp, line 69: ****************************kode********************************* sub ShowList (intFromId) 'viser 10 indlæg ad gangen dim strSQL, objRS, strWhere dim strRows, i IF intFromId > 0 THEN strWhere = " WHERE guestId <= " & intFromId & " " ELSE strWhere = "" END IF strSQL = "SELECT guestId, guestName, guestEmail, guestMessage FROM Tagwall " & strWhere & "ORDER BY datesubmitted DESC" set objRS = server.CreateObject("ADODB.Recordset") with objRS --------------------Her går det galt----------------- .open strSQL, strConnect, adOpenForwardOnly, adLockReadOnly, adCmdText IF NOT .EOF THEN arrRows = .GetRows(10) END IF .close end with set objRS = Nothing
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
05. april 2004 - 13:36
#1
er dette ikke tilstrækkeligt: .open strSQL, strConnect
05. april 2004 - 13:50
#3
I begge tilfælde får jeg følgende fejl: Microsoft JET Database Engine error '80004005' Could not find file 'C:\WINNT\system32\tagwall.mdb'. /tagwall/tagwall.asp, line 70
05. april 2004 - 13:54
#4
godt der er så fejl i din connection string. bruger du servermappath ? det kan være en ide så destinationen bliver korrekt
05. april 2004 - 13:54
#5
Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("tagwall.mdb")
05. april 2004 - 13:57
#6
så kommer denne: Microsoft VBScript runtime error '800a01f4' Variable is undefined: 'Conn' /tagwall/conn.asp, line 2
05. april 2004 - 13:59
#7
prøv lige at paste starten på dit database kald
05. april 2004 - 13:59
#8
Jeg brugte: dim strConnect strConnect = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=tagwall.mdb"
05. april 2004 - 14:00
#9
eller hele lortet
05. april 2004 - 14:01
#10
<% OPTION EXPLICIT %> <!-- #include file="conn.asp" --> <html> <head> <title>Phuzzphase tagwall</title> </head> <body background="bg.jpg"> <table width="100%"><TR><TD> <% dim strAction strAction=request("action") select case strAction case "write" 'vis formular til indlæsning ShowOptions ShowList request("fromId") case "insert" 'indsæt resultat af formular WriteForm ShowOptions ShowList 0 case else 'vis valgmuligheder ShowOptions end select '------------------------------------------ ' Funktioner/Procedurer '------------------------------------------ sub ShowForm 'viser en formular, hvor den besøgende indtaster i %> <form action="tagwall.asp?action=insert" method="post"> <table width=300 align="center" cellpadding=0 cellspacing=7> <TR><TD><div align="center">Name: <input type="text" name="guestName"> </div></TD></TR> <TR><TD><div align="center">Email: <input type="text" name="guestEmail"> </div></TD></TR> <TR><TD><div align="center"> <textarea name="guestMessage" cols="50" rows="10"></textarea> </div></TD></TR> <TR><TD><div align="right"> <input type="submit" value="Add"> </div></TD></TR> <TR align="center"><TD align="center"> <div align="left"> <% end sub sub ShowList (intFromId) 'viser 10 indlæg ad gangen dim strSQL, objRS, strWhere dim strRows, i IF intFromId > 0 THEN strWhere = " WHERE guestId <= " & intFromId & " " ELSE strWhere = "" END IF strSQL = "SELECT guestId, guestName, guestEmail, guestMessage FROM Tagwall " & strWhere & "ORDER BY datesubmitted DESC" set objRS = server.CreateObject("ADODB.Recordset") with objRS .open strSQL, strConnect, 0, 1, 1 IF NOT .EOF THEN arrRows = .GetRows(10) END IF .close end with set objRS = Nothing IF isArray(arrRows) THEN intFromId = arrRows(0, ubound(arrRows, 2)) for i= 0 to ubound(arrRows, 2) response.write arrRows(0,i) & ". " &_ arrRows(1,i) &_ "<br>" & arrRows(2,i) &_ "<br>" & arrRows(3,i) & "<hr>" next response.write _ "<a href='tagwall.asp?action=show&fromid=" & intFromId+10 & "'>Prev</a> " &_ "<a href='tagwall.asp?action=show&fromId=" & intFormId -1 & "'>Next</a> " ELSE response.write "<p>No more</p>" END IF end sub sub WriteForm 'Indlægget skrives til db dim strSQL, objCMD strSQL = "INSERT INTO Tagwall (guestName, guestEmail, guestMessage, datesubmitted) " &_ "VALUES (" &_ "'" & request("questName") & "', " &_ "'" & request("guestEmail") & "', " &_ "'" & request("guestMessage") & "', " &_ "getdate() )" set objCMD = server.CreateObject("ADODB.Command") with objCMD .ActiveConnection = strConnect .CommandType = adCmdText .CommandText = strSQL .Execute end with set objCMD = Nothing end sub sub ShowOptions 'viser hvilke muligheder der er %> </div> <h1 align="left">Tagwall</h1> <p align="left"> Leave a message for fuzzphase <br> <a href="tagwall.asp?action=write">Write a message</a><br> <a href="tagwall.asp?action=show">Read</a> </p> <div align="left"> <% end sub %> </div></TD></TR> </table> </form> </TD></TR></table> </body> </html
05. april 2004 - 14:02
#11
conn.asp indeholder kun: <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("tagwall.mdb") %>
05. april 2004 - 14:05
#12
godt så. ved at bruge source skal du definere hele stien til din db. derfor er det smartere at bruge mapPath som i min connect string. så hvis tagwall.asp ligger i samme katalog som din db eller deromkring skal du kun skrive mappenavn derfra osv. Mht. til undefinded, så ændre lige navnet til strConnect og erstat det med din connect string. således: Set strConnect = Server.CreateObject("ADODB.Connection") strConnect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("tagwall.mdb") og sikre dig at tagwall.mdb ligger i samme katalog som din fil. ellers så husk og skriv destinationen
05. april 2004 - 14:08
#13
Microsoft VBScript runtime error '800a01f4' Variable is undefined: 'strConnect' /tagwall/conn.asp, line 2 og tagwall.mdb ligger i samme katalog :)
05. april 2004 - 14:12
#14
prøv at fjern den øverste linje der hedder <% OPTION EXPLICIT %>
05. april 2004 - 18:29
#15
Hmm, nu kommer der ingen fejlmeddelelser, men der er ikke nogen form hvor man kan skrive nye beskeder...:/
05. april 2004 - 18:32
#16
visuel >> ??? Har du stjålet kode???? ;) Du har fuldstændig ret....
05. april 2004 - 18:47
#17
En ting der ihf mangler er: case "show" ' vis indhold ShowOptions ShowList request("fromId") der skal indsættes oppe ved de andre case's, men det får stadig ikke formen frem :)
05. april 2004 - 18:49
#18
og så skal case write ændres til case "write" 'vis formular til indlæsning ShowOptions ShowForm
05. april 2004 - 18:50
#19
phineas_phreak >> smider du lige et svar?? - så må pointene være dine :)
05. april 2004 - 18:53
#20
Men der er også noget galt med case insert... :(
05. april 2004 - 19:02
#21
ADODB.Command error '800a0bb9' Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. /tagwall/tagwall.asp, line 112
05. april 2004 - 19:03
#22
Her et sted: sub WriteForm 'Indlægget skrives til db dim strSQL, objCMD strSQL = "INSERT INTO Tagwall (guestName, guestEmail, guestMessage, datesubmitted) " &_ "VALUES (" &_ "'" & request("guestName") & "', " &_ "'" & request("guestEmail") & "', " &_ "'" & request("guestMessage") & "', " &_ "getdate() )" set objCMD = server.CreateObject("ADODB.Command") with objCMD .ActiveConnection = strConnect .CommandType = adCmdText .CommandText = strSQL .Execute end with set objCMD = Nothing end sub
05. april 2004 - 19:18
#23
Uha han er ved at blive go' ;-) .CommandType = adCmdText skal rettes til .CommandType = 1 Nu er der så kun lige en ting tilbage... Hvad gør jeg når jeg skal have den aktuelle tid i db. Nu bruger jeg jo getdate(), men det kan den ikke finde ud af. Hvad skal jeg bruge istedet??
05. april 2004 - 19:39
#24
Istedet for getdate() brug da bare date :) Man lærer mere og mere - hehe...
06. april 2004 - 00:13
#25
hmm, med date() påstår den at datoen er 07-07-1894?? En anden ting. Når jeg tilføjer i db'en og bagefter trykker opdater lægger den endnu et eksemplar af sidstskrevne i db'en. Hvordan undgår man det??
06. april 2004 - 14:15
#26
aye aye
06. april 2004 - 14:22
#27
kan du ik bare sende formen til en anden side hvor du definerer din SQL strSQL = "INSERT INTO Tagwall ........ osv. osv. og så nederst på den side lave en response.redirect("forrigeside.asp") igen ?
Kurser inden for grundlæggende programmering