webForumDet fria alternativet

Querystring i response.redirect

13 svar · 457 visningar · startad av DiDjo

DiDjoMedlem sedan nov. 2002543 inlägg
#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 :)

MeleaMedlem sedan juli 20032 667 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") & ""
DiDjoMedlem sedan nov. 2002543 inlägg
#3

samma fel iaf...

LarsGMedlem sedan dec. 200012 465 inlägg
#4
Addera = "SELECT * FROM nya where id = " & _
 request.querystring("id")
DiDjoMedlem sedan nov. 2002543 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
DiDjoMedlem sedan nov. 2002543 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?

DiDjoMedlem sedan nov. 2002543 inlägg
#7

/red

Löste det inte... :P

M.CheraghiMedlem sedan juli 20013 362 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)
DiDjoMedlem sedan nov. 2002543 inlägg
#9

/red

Hold on :P Såg att du redigerade

DiDjoMedlem sedan nov. 2002543 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..

M.CheraghiMedlem sedan juli 20013 362 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.

DiDjoMedlem sedan nov. 2002543 inlägg
#12

Tackar så mycket! Det fungerar :)

M.CheraghiMedlem sedan juli 20013 362 inlägg
#13

DiDjo skrev:

Tackar så mycket! Det fungerar :)

Kul! :)

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

Det behövs inget tabellnamn

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb