webForumDet fria alternativet
Logga in / Bli medlem

session insert?

ASP

2 svar · 111 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Trådstart#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?

Medlem 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

Medlem 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!

258 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)