webForumDet fria alternativet
Logga in / Bli medlem

Querystring i response.redirect

ASP

13 svar · 460 visningar · startad av DiDjo

Medlem sedan nov. 2002544 inlägg
Trådstart#1

Hejsan, jag får inte detta att fungera:

farg = orange
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("****.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM nya"
rs.Open Addera, Connect, 3, 3 

rs.addnew
rs("vem") = vem
rs("fran") = gnamn
rs("datum") = now()
rs.update

response.redirect "talkie_vanta.asp?farg="&farg&"&id='"&rs("id")&"'"
%>

Får detta:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07' 

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. 

/kommun/talkie_vanta.asp, line 22

Och raderna på talkie_vanta.asp

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("***.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM nya where id = '"&request.querystring("id")&"'"
rs.Open Addera, Connect, 3, 3

Betyder alltså att jag inte får med querystringsen rätt? Och jag klantar alltid till de med Querystrings :)

Medlem sedan juli 20033 147 inlägg
#2

Testa att byta ut

response.redirect "talkie_vanta.asp?farg="&farg&"&id='"&rs("id")&"'"

mot

response.redirect "talkie_vanta.asp?farg=" & farg & "&id=" & rs("id") & ""
Medlem sedan nov. 2002544 inlägg
#3

samma fel iaf...

Medlem sedan dec. 200012 464 inlägg
#4
Addera = "SELECT * FROM nya where id = " & _
 request.querystring("id")
Medlem sedan nov. 2002544 inlägg
#5

LarsG:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id ='. 

/kommun/talkie_vanta.asp, line 23
Medlem sedan nov. 2002544 inlägg
#6

Jag kollade vad den fick med för querystrings:

talkie_vanta.asp?farg=rod&id=''

alltså får den inte med idn... är det för att idn skapas på precis innan? Måste databas kopplingen uppdateras först?

Medlem sedan nov. 2002544 inlägg
#7

/red

Löste det inte... :P

Medlem sedan juli 20015 107 inlägg
#8

Byt ut

Addera = "SELECT * FROM nya"
rs.Open Addera, Connect, 3, 3 

rs.addnew
rs("vem") = vem
rs("fran") = gnamn
rs("datum") = now()
rs.update

response.redirect "talkie_vanta.asp?farg="&farg&"&id='"&rs("id")&"'"
strSQL = "UPDATE nya SET vem = '"& vem &"' , fran = '"& gnamn &"' datum = '"& now() &"'"
Connect.execute(strSQL)

strSQL = "SELECT id FROM nya"
SET RS = Connect.execute(strSQL)

response.redirect "talkie_vanta.asp?farg="&farg&"&id="&RS("id")

Föresten? i select satsen ska du inte specificera viket ID den ska selecta från databasen? bara en tankefråga sådär när jag såg koden. :)
Försök att inte använda RS.update metoden, kör en riktig SQL sats istället

Red: ojda skulle inte vara en Update fråga, skulle vara en Insert fråga

strSQL = "INSERT INTO nya (vem,fran,datum) VALUES ('"& vem &"' , '"& gnamn &"' , '"& now() &"')
Connect.execute(strSQL)
Medlem sedan nov. 2002544 inlägg
#9

/red

Hold on :P Såg att du redigerade

Medlem sedan nov. 2002544 inlägg
#10

Okej, men jag får hela tiden samma ID med mig.... ID:t skapas automatiskt i access databasen! Och det kan finnas flera poster med mitt namn och den andres..

Medlem sedan juli 20015 107 inlägg
#11
strSQL = "INSERT INTO nya (vem,fran,datum) VALUES ('"& vem &"' , '"& gnamn &"' , '"& now() &"')
Connect.execute(strSQL)

strSQL = "SELECT @@identity as last_id FROM nya"
SET RS = Connect.execute(strSQL)

response.redirect "talkie_vanta.asp?farg="&farg&"&id="&RS("last_id")

Fungerar det då?
@@identity, plockar ut det senaste inserten just du gjort, dvs om 50 pers skulle posta samtidigt finns ingen risk att du skickas vidare till fel ID! Jag är dock lite osäker på SELECT satsen då jag inte hållt på med @@identity med Acces, utan endast motsvarigheten i mySQL.

Medlem sedan nov. 2002544 inlägg
#12

Tackar så mycket! Det fungerar :)

Medlem sedan juli 20015 107 inlägg
#13

DiDjo skrev:

Tackar så mycket! Det fungerar :)

Kul! :)

Medlem sedan dec. 200012 464 inlägg
#14
strSQL = "SELECT @@identity as last_id"

Det behövs inget tabellnamn

267 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)