jimpaMedlem sedan jan. 2001361 inlägg Hej,
Har kört fast med mitt ASP'ANDE'
När en besökare har registrerat sig
via mitt formulär så finns följande fält sparade i databasen:
ID 'primär nyckel'
fält1
fält2
Nu när min lilla besökare är registrerad så ska han fyllla i ett annat formulär, nämligen:
fält3
fält4
Ok!
Hur får jag fält3, fält4 att hamna i samma ID
Nu ser min kod ut så här:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=blabla;Password=blabla"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT ID, fält3, fält4 FROM user WHERE ID = " & Trim(Request.QueryString("ID")) & " "
RecSet.Open Addera, Connect, adOpenDynamic, adLockOptimistic
RecSet("fält3") = Request.Form("fält3")
RecSet("fält4") = Request.Form("fält4")
RecSet.Update
RecSet.Close
Connect.Close
Jag vet att det inte funkar så här!!
Men hur ska det se ut ??
Tacksam för ett svar som även jag förstår
/M.v.h. Jimpa
EclipseMedlem sedan juli 20003 825 inlägg SQL = "INSERT INTO [users] (x_email, x_address) VALUES ('" & request("x_email") & "', '" & request("x_address") & ") WHERE [x_ID] = " & request("x_ID") & ";"
Conn.Execute(SQL)
---
That's it!
Gör dig sälv en tjänst, håll inte på med dom där addDynamic och addStacic och den där skiten... Du fattar endå inte vad som händer. Vanlig SQL har du nytta av i andra sammanhang.
------------------
Never underestimate your opponents.
[Redigerat av Eclipse den 13 feb 2001]
@ndersMedlem sedan juni 200032 969 inlägg jakob, jakob, jakob.
är det för tidigt för dig? ;)
det jakob menar, jag vet att han kan det här, är:
SQL = "UPDATE [users] SET x_email = '" & request("x_email") & "', x_address = '" & request("x_address") & "' WHERE [x_ID] = " & request("x_ID")
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
jimpaMedlem sedan jan. 2001361 inlägg Hej,
Tack för svar
Men hur skulle hela min kod se ut
om man sätter in det i koden som jag har
m.v.h. sämre en än NYBÖRJARE
EclipseMedlem sedan juli 20003 825 inlägg ok, sorry... det blir så när man inte tittar på fusklappen,
http://cartman.nu/eclipse/
dessutom har jag en ny version på G.
--
Uppdatera: UPDATE ... where ID = 3
Ny post: INSERT INTO
------------------
Never underestimate your opponents.
EclipseMedlem sedan juli 20003 825 inlägg jimpa, för det första har du ingen koppling till databasen.
' ## OPEN THE DATABASE USING DSN-LESS
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\db\mitt_projekt.mdb"))
------------------
Never underestimate your opponents.
jimpaMedlem sedan jan. 2001361 inlägg Jag öppnar ju databasen så här!!
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=blabla;Password=blabla
EclipseMedlem sedan juli 20003 825 inlägg sorry, jag trodde det var rent illustrativt...
Har du verkligen gått in i kontrollpanelen och skapat en fil DSN till namnet "blabla"??
------------------
Never underestimate your opponents.
jimpaMedlem sedan jan. 2001361 inlägg Min databas heter igentligen databas.mdb
6456-databas, skriver jag när jag ska öppna den, 6456 är mitt användarnamn
på servern.
Om det var det du menade!
jimpaMedlem sedan jan. 2001361 inlägg Okej, så här ser det ut!
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-db;Password=@01#$hefghhdgmlbfkjdhmpfbce"
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "UPDATE [users] SET x_email = '" & request("x_email") & "', x_address = '" & request("x_address") & "' WHERE [x_ID] = " & request("x_ID")
RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic
RecSet("fält3") = Request.Form("fält3")
RecSet("fält4") = Request.Form("fält4")
RecSet.Update
RecSet.Close
Connect.Close
%>
Nu men får det här felmeddelandet!
ADODB.Recordset.1 error '80004005'
Syntax error (missing operator) in query expression '[x_ID] ='.
/cross/admin/save_image.asp, line 32
Ööö, vad är fel
M.v.h. DUMMARE ÄN DUMMAST
LarsGMedlem sedan dec. 200012 464 inlägg Om du enbart skall göra en update så behövs det inget recordset alls.
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=b1464-db;Password=@01#$hefghhdgmlbfkjdhmpfbce"
SQL = "UPDATE users SET x_email = '" & request("x_email") & "', x_address = '" & request("x_address") & "' WHERE x_ID = " & request("x_ID")
connect.execute SQL
Connect.Close
%>
Det felmeddelande du får beror förmodligen på att request("x_ID")
inte innehåller något värde
------------------
essentitia preter non sans multiplicandum
jimpaMedlem sedan jan. 2001361 inlägg Ööö,
Men hur får jag ett värde då ?
M.v.h. NU ÄNNU DUMMARE
LarsGMedlem sedan dec. 200012 464 inlägg Det skall stå request.QueryString istället för enbart request. Blev lite mycket klipp och klistra där.
Request.QueryString innehåller det som står efter frågetecknet i addressen till sidan
t.ex
xxx.nu/postings.asp?x_id=12
så har Request.QueryString("x_id") värdet 12
------------------
essentitia preter non sans multiplicandum