crisse6 Medlem sedan dec. 2000 2 526 inlägg Trådstart 2 mars 2001 18:33 #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
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
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 vet någon en lösning?
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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
crisse6 Medlem sedan dec. 2000 2 526 inlägg LarG, det funkar ju bra det där med att låta en ha kvar sitt användarnamn vid uppdatering
tackar!