Avatar billede t2o Nybegynder
21. januar 2002 - 09:38 Der er 8 kommentarer og
1 løsning

progammerings problem

Jeg har lavet dette program til at stemme på en bestemt sang....mit problem er at den ikke vil lave min else sætning. jeg får denne fejl:
Fejltype:
ADODB.Recordset (0x800A0CC1)
Elementet kan ikke findes i den samling, der svarer til det anmodede navn eller ordenstal.
/AwardAnswer.asp, line 20

Her er koden:
<%
Set DataConn = Server.CreateObject(\"ADODB.Connection\")
Set StrRecSet = server.CreateObject(\"ADODB.Recordset\")
DBSti = \"DBQ=\" & Server.Mappath(\"Awarddb.mdb\")
DataConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBSti
set rs = DataConn.execute(\"SELECT votes, nominee, Songlink from nominees\")
%>

<%
if not rs(\"Songlink\") = request.form(\"Songlink\") then
mySQL = \"INSERT INTO Nominees ( Nominee, SongName, SongLink)\"
mySQL = mySQL & \" VALUES (\'\" & request.form(\"Nominee\") & \"\',\'\" & request.form(\"SongName\") & \"\',\'\" & request.form(\"SongLink\") & \"\')\"
Dataconn.execute(mySQL)

response.write \"your vote is registered.\"

else

mySQL = \"UPDATE Nominees (votes)\"
mySQL = mySQL & \" VALUES (\'\" & rs(Votes) &\"\',1)\"
Dataconn.execute(mySQL)

response.write \"your vote is added.\"
response.write rs(\"votes\")
end if
%>

T2O
Avatar billede entracore Nybegynder
21. januar 2002 - 09:44 #1
Det er når du kalder f.eks. rs(\"votes\") - der er ikke et felt i din tabel der hedder \"votes\"

I hvilken linie opstår fejlen?
Avatar billede hirayz Nybegynder
21. januar 2002 - 09:45 #2
det er her det er galt
mySQL = \"UPDATE Nominees (votes)\"
mySQL = mySQL & \" VALUES (\'\" & rs(Votes) &\"\',1)\"

tror det er fordi den ikke ved hvor den skal smide 1 tallet hen...
Avatar billede hirayz Nybegynder
21. januar 2002 - 09:46 #3
hvis det er sådan en vote skal du da skrive +1 istedet for ,1

mySQL = mySQL & \" VALUES (\'\" & rs(Votes) &\"\'+1)\"
Avatar billede t2o Nybegynder
21. januar 2002 - 10:10 #4
problemet er stadig i linie 20
Dataconn.execute(mySQL)

fejlen ser sådan ud:
Fejltype:
ADODB.Recordset (0x800A0CC1)
Elementet kan ikke findes i den samling, der svarer til det anmodede navn eller ordenstal.
/AwardAnswer.asp, line 20

Jeg har et felt i db\'en der hedder \"votes\"

T2O

Avatar billede coltau Juniormester
21. januar 2002 - 11:08 #5
Mon ikke disse linier hjælper:

mySQL = \"UPDATE Nominees Set votes = votes + 1 Where songlink = \" & request.form(\"Songlink\") & \";\"
Dataconn.execute(mySQL)

Avatar billede t2o Nybegynder
21. januar 2002 - 11:32 #6
Coltau:
Når jeg bruger din sætning så får jeg lige pludselig denne fejl:
Fejltype:
Provider (0x80004005)
Uspecificeret fejl
/AwardAnswer.asp, line 5
Avatar billede t2o Nybegynder
21. januar 2002 - 11:34 #7
og når jeg opdatere siden får jeg denne fejl:
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket.
/AwardAnswer.asp, line 21

Jeg er godt nok ved at blive forvirret...:)
Avatar billede coltau Juniormester
21. januar 2002 - 12:18 #8
Der enkelt-apostroffer omkring - hvis songlink er af typen tekst.

mySQL = \"UPDATE Nominees Set votes = votes + 1 Where songlink = \'\" & request.form(\"Songlink\") & \"\';\"
Avatar billede t2o Nybegynder
21. januar 2002 - 12:24 #9
Coltau:
Det var lige det der skulle til :)
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