webForumDet fria alternativet

session insert?

2 svar · 111 visningar · startad av crisse6

crisse6Medlem sedan dec. 20002 526 inlägg
#1

okej... jag har gjort en sida där man kan svara på några frågor osv... iaf

jag har en databas som heter users.mdb men till frågorna gjorde jag en ny fragor.mdb (blev så j*vla rörigt annars)

nu vill jag när man svarat på frågorna vi formuläret så sätts värden in i databasen fragor.mdb men nu vill jag att den ska sätta det id:iet man har som medlema i id fältet i databasen fragor.mdb det borde la gå med session("id") eller vad säger du MattiasW he he :e

kolla på min kod:

<% 
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=C:\inetpub\wwwroot\groda\fragor.mdb" 
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM svar"

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.AddNew
RecSet("id") = Session("id")
RecSet("kansla1") = Request.Form("kansla1")
RecSet("kansla2") = Request.Form("kansla2")
RecSet("mat1") = Request.Form("mat1")
RecSet("mat2") = Request.Form("mat2")
RecSet("arstid1") = Request.Form("arstid1")
RecSet("arstid2") = Request.Form("arstid2")
RecSet("vinterstil") = Request.Form("vinterstil")
RecSet("personlighet") = Request.Form("personlighet")
RecSet("film") = Request.Form("film")
RecSet("amne") = Request.Form("amne")
RecSet("har") = Request.Form("har")
RecSet("musik") = Request.Form("musik") 
RecSet("liseberg") = Request.Form("liseberg")
RecSet("alkohol") = Request.Form("alkohol")
RecSet("musikgrupp") = Request.Form("musikgrupp")
RecSet("hobby") = Request.Form("hobby")
RecSet("intresse") = Request.Form("intresse")
RecSet("favomarke") = Request.Form("favomarke")
RecSet("radd") = Request.Form("radd")
RecSet.Update
RecSet.Close
Connect.Close %>

men den säger bara detta som felmeddelande:

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

Ett fel inträffade 

/groda/svar.asp, line 28

sedan har jag en annan fråga, nämligen fråga2 :e

jag har gjort så man kan uppdatera sitt info, men problemet kommer eftersom jag har en koll om man väljer nytt username så ska den kolla om det finns, men när man får sina värden hämtade till formuläret så står det i fältet username te x kalle men då tror sedan skriptet att man vill heta kalle som nytt username? kontstigt :q vet någon en lösning?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Fråga 2 först, vet inte riktigt om jag förstår, men utgående från tidigare inlägg så gör jag en gissning.

Är det den här koden du kör nu?

Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
SQL2 = "select 1 from users where username = '" & request.form("Username") & "'"
set RsKolla = database.execute (SQL2)
if RsKolla.Eof then

SQL = "UPDATE users SET Username = '" & request.form("Username") & "', Password = '" & request.form("Password") & "', Namn = '" & request.form("Namn") & "', Efternamn = '" & request.form("Efternamn") & "', Mobil = '" & request.form("Mobil") & "', Bor = '" & request.form("Bor") & "', Fakta = '" & request.form("Fakta") & "' WHERE id = " & session("id")
Databas.Execute(SQL)
else
Response.write request.form("Username") & " är upptaget, välj ett annat "
end if
%>

I så fall behöver man lägga till ett villkor till (kom jag på)


Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
SQL2 = "select 1 from users where username = '" & request.form("Username") & "' and id <> " & session("id")

set RsKolla = database.execute (SQL2)
if RsKolla.Eof then

SQL = "UPDATE users SET Username = '" & request.form("Username") & "', Password = '" & request.form("Password") & "', Namn = '" & request.form("Namn") & "', Efternamn = '" & request.form("Efternamn") & "', Mobil = '" & request.form("Mobil") & "', Bor = '" & request.form("Bor") & "', Fakta = '" & request.form("Fakta") & "' WHERE id = " & session("id")
Databas.Execute(SQL)
else
Response.write request.form("Username") & " är upptaget, välj ett annat "
end if
%>

Fråga 1. Svårt att säga, kan bero på att man inte har skrivrättigheter på den fil där databasen ligger

------------------
essentitia preter non sans multiplicandum

crisse6Medlem sedan dec. 20002 526 inlägg
#3

LarG, det funkar ju bra det där med att låta en ha kvar sitt användarnamn vid uppdatering :e

tackar!

242 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
124 ms — hämta forumlista (db)
116 ms — hämta statistik (db)
124 ms — hämta tråd, inlägg och bilagor (db)