Avatar billede t2o Nybegynder
18. januar 2002 - 10:45 Der er 9 kommentarer og
1 løsning

ASP sammenligning i db og tælle op med 1

jeg har lavet dette lille program, der henter text fra tre textfelter og smider dem i en db. Det virker fint.
Nu er det jeg gerne vil sammenligne indholdet i de tre textfelter, med det der står i db. Hvis det der står i db er = det i textfelterne skal den ikke tilføje til db men lægge +1 til recordfeltet \"votes\", der hvor textfelterne = recordset.
Hvordan gør man det????
Jeg har ikke så meget forstand på ASP, men jeg prøver..
Findes der en side med et eksempel, eller kan en af jer hurtigt lave et eksempel på hvordan man gør dette???
Her er min Kode:
Her er felterne:
<%
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
%>

<form name=\"form1\" method=\"post\" action=\"AwardAnswer.asp\">
    <input type=\"text\" name=\"Nominee\">
    <input type=\"text\" name=\"SongName\">
    <input type=\"text\" name=\"SongLink\">
    <input type=\"submit\" name=\"Submit\" value=\"Submit\">
</form>

her bliver de tilføjet til db:
<%
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
%>

<%

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.\"
%>

hvad gør jeg nu??
Avatar billede hirayz Nybegynder
18. januar 2002 - 10:55 #1
if not rs(\"nominee\") = request.form(\"nominee\") 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 registered.\"
end if
Avatar billede erikjacobsen Ekspert
18. januar 2002 - 10:55 #2
Du behøver ikke gøre andet, du kan jo bare tælle sammen når du trækker ud

  select Nominee,count(*) as antal from Nominees group by Nominiee
Avatar billede t2o Nybegynder
18. januar 2002 - 11:04 #3
Hirayz:
Det her muligvis et dumt spørgsmål...:)
hvad er rs lig med i min kode?
jeg får denne fejl når jeg kører siden med din kode tilføjelse :)

T2O
Avatar billede t2o Nybegynder
18. januar 2002 - 11:04 #4
Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/AwardAnswer.asp, line 19, column 30
mySQL = mySQL & \" VALUES (rs(\"votes\")+1)\"
-----------------------------^
Avatar billede hirayz Nybegynder
18. januar 2002 - 11:07 #5
sådan
<%
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
\'sæt denne linie ind her
set rs = DataConn.execute(\"SELECT votes from nominees\")

%>
Avatar billede t2o Nybegynder
18. januar 2002 - 11:16 #6
Jeg får desværre stadig samme fejl :(
Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/AwardAnswer.asp, line 20, column 30
mySQL = mySQL & \" VALUES (rs(\"votes\")+1)\"
-----------------------------^
Avatar billede t2o Nybegynder
18. januar 2002 - 11:19 #7
det er ikke rs det er galt med nu, det er vist i (\"votes\") det er galt
fejlen så sådan ud, sorry:
mySQL = mySQL & \" VALUES (rs(\"votes\")+1)\"
-----------------------------^
Avatar billede t2o Nybegynder
18. januar 2002 - 12:40 #8
jeg er stadig ikke kommet videre...
der er noget galt med den sætning her:
mySQL = mySQL & \" VALUES (rs(\"votes\")+1)\"
Avatar billede erikjacobsen Ekspert
18. januar 2002 - 17:08 #9
Er du igang med løsningen fra hirayz  ?
Du kan også bare gøre som jeg foreslår.
Avatar billede t2o Nybegynder
21. januar 2002 - 09:17 #10
Erik:
jeg er igang med Hirayz løsning.
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