DiDjoMedlem sedan nov. 2002543 inlägg
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
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
LarsGMedlem sedan dec. 200012 465 inlägg
Addera = "SELECT * FROM nya where id = " & _
request.querystring("id")
DiDjoMedlem sedan nov. 2002543 inlägg
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
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
/red
Löste det inte... :P
M.CheraghiMedlem sedan juli 20013 362 inlägg
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
/red
Hold on :P Såg att du redigerade
DiDjoMedlem sedan nov. 2002543 inlägg
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
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
Tackar så mycket! Det fungerar :)
M.CheraghiMedlem sedan juli 20013 362 inlägg
DiDjo skrev:
Tackar så mycket! Det fungerar :)
Kul! :)
LarsGMedlem sedan dec. 200012 465 inlägg
strSQL = "SELECT @@identity as last_id"
Det behövs inget tabellnamn