webForumDet fria alternativet

Har kört fast!!

ASPur ASP

12 svar · 238 visningar · startad av jimpa

jimpaMedlem sedan jan. 2001361 inlägg
#1

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
#2

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
#3

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
#4

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
#5

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
#6

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
#7

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
#8

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
#9

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
#10

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
#11

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
#12

Ööö,

Men hur får jag ett värde då ?

M.v.h. NU ÄNNU DUMMARE

LarsGMedlem sedan dec. 200012 464 inlägg
#13

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

130 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)