webForumDet fria alternativet

Vill inte uppdatera databasen!

ASP

8 svar · 262 visningar · startad av M.Cheraghi

Medlem sedan juli 20015 107 inlägg
Frågan#1

Hallojsan!
har stött på ett problem med uppdatering av databasen!
grejjen är att databasen vill inte bli uppdaterad med de nya data jag vill mata in! får inget felmedelande heller =/!

<%
user = request.form("uname")
pass = request.form("pass")

if pass = "" then
error = "1"
end if

if user = "" then
error = "1"
end if

if error = "1" then
	response.redirect("main.asp?error=1")

else
%>
<!--#include file="dbconn.asp" -->
<%
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM user where uname='"&user&"' AND password='"&pass&"'"
Set RS = conn.execute(SQL)

if rs.bof and rs.eof then
	response.redirect("default.asp?error=1")
else

session("status") = "inloggad"
session("id") = RS("id")
session("uname") = RS("uname")

tid = now()
status = "online"

[b]Set RS = Server.CreateObject("ADODB.Recordset")
strSQL="UPDATE user SET logintid = '"&tid&"' AND status = '"&status&"' where uname ='"&user&"'"
Set RS = conn.execute(strSQL)

response.redirect("default.asp")[/b]

end if

RS.close
conn.close

end if
%>

fetmarkerat r min updatekod, har dubbelkollat allafältnamn å sånt

logintid = datum
Status = Text

förstår inte vad som e problemet, den övriga koden som kollar användarnamnet fungerar bra o man bli vidare skickad till nästa sida, fast databasen inte uppdateras =)

Medlem sedan juli 20033 147 inlägg
#2

pröva med:

<!--#include file="dbconn.asp" -->
<%
dim struser, strpass
struser = request.form("uname")
strpass = request.form("pass")

if strpass = "" then
error = "1"
end if

if struser = "" then
error = "1"
end if

if error = "1" then
	response.redirect("main.asp?error=1")
else

SQL = "SELECT * FROM user where uname='"&struser&"' AND password='"&strpass&"'"
Set RS = conn.execute(SQL)

if rs.bof and rs.eof then
	response.redirect("default.asp?error=1")
else

session("status") = "inloggad"
session("id") = RS("id")
session("uname") = RS("uname")

dim strlogintid, strstatus
strlogintid = now()
strstatus = "online"

strSQL="UPDATE user SET logintid = '"&strlogintid&"' AND status = '"&strstatus&"' where uname ='"&struser&"'"
Set RS = conn.execute(strSQL)

response.redirect("default.asp")

end if

RS.close
conn.close

end if
%>

Mvh

Medlem sedan juli 20015 107 inlägg
#3

Edit.. ojjj, blev nå fel

Medlem sedan juli 20033 147 inlägg
#4

Jag redigerade mitt inlägg, det som står nu borde funka =)

Medlem sedan juli 20015 107 inlägg
#5

Melea skrev:

Jag redigerade mitt inlägg, det som står nu borde funka =)

ldsen att göra dej besviken.. men inget blir uppdaterat endå =/

Medlem sedan aug. 20011 087 inlägg
#6

Hmm jag brukar skriva utan and med ett , istället o d funkar för mig, kanske är det som e felet?

Vet inte om det beror på vilken databas man använder, jag använder iaf MySQL

strSQL="UPDATE user SET logintid = '"&tid&"', status = '"&status&"' where uname ='"&user&"'"
Medlem sedan juni 200032 967 inlägg
#7

Nej, det beror inte på vilken databas man använder, det skall vara komma, inte and.

Men, frågan är hur SQL-frågan med and gick igenom utan felmeddelande?

Medlem sedan aug. 20011 087 inlägg
#8

Det var väll det jag trodde, får hoppas d funkar då!

kanske var nått annat som gav felmeddelande innan :D

Medlem sedan juli 20015 107 inlägg
#9

Tack så mkt grabbar. det var det som var felet! men jag förstår inte heller hur frågan gick igenom utan felmedelande! =/ men hursomhelst fungerar det nu! (y)

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)