antarMedlem sedan dec. 2001289 inlägg Hur undviker jag dubletter med den koden?
'***************** Senaste besökare ****************
Set Connect=Server.CreateObject("ADODB.Connection")
sConnect = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/Dagbok.mdb")&""
Connect.Open(sConnect)
Anvandarnamn= request.querystring("Anvandarnamn")
id= request.querystring("ID")
SQL="SELECT Lasare, Anvandarnamn FROM Dagbok WHERE Anvandarnamn='" & Anvandarnamn & "'"
Connect.execute(SQL)
Set Recset=Server.CreateObject("ADODB.Recordset")
Recset.open SQL, Connect, 3,3
adda=session("Anvandarnamn")&"="&now()&"¶"
happ=adda & recset("Lasare")
if not recset("Lasare") = "" then
if not left(recset("Lasare"),instr(recset("Lasare"), "¶")) = session("Anvandarnamn")&"¶" then
if not recset("Anvandarnamn")=session("Anvandarnamn") then
sql="UPDATE Dagbok SET Lasare='" & happ & "' WHERE Anvandarnamn='" & Anvandarnamn &"'"
connect.execute(sql)
connect.close
set connect = nothing
else
end if
end if
else
if not recset("Anvandarnamn")=session("Anvandarnamn") then
sql="UPDATE Dagbok SET Lasare='" & happ & "' WHERE Anvandarnamn='" & Anvandarnamn &"'"
connect.execute(sql)
connect.close
set connect = nothing
end if
end if
'******************************************************
LarsGMedlem sedan dec. 200012 464 inlägg I vilket sammanhang? När du hämtar data eller när du lagrar data?
EkströmMedlem sedan feb. 20022 594 inlägg DU kan göra fältet i databasen, som du inte vill ska kunna dubbleras till primärnyckel.
antarMedlem sedan dec. 2001289 inlägg nej men det ser ut så här i fältet
nick,bla,bla,bla
, splittras
LarsGMedlem sedan dec. 200012 464 inlägg Lagra inte data på det sättet. Lagra varje enskild sak som en egen post. Du behöver alltså ha en till tabell.
Då är det mycket enklare att hantera, t.ex. kan du sätta ett unique attribut på kolumnen.
antarMedlem sedan dec. 2001289 inlägg nej jag vill använda så orkar inte ändra på allt!! kan nån hjälpa?
OveRRidEMedlem sedan feb. 200112 078 inlägg strArray = split(session("anvandarnamn"),"¶")
for i = lbound(strArray) to ubound(strArray)
if strArray(i) = [b]nånvariabel[/b] then
isMatch = True
exit for
end if
next
if isMatch <> True then
'gör uppdateringen
end if
Typ, du förstår meningen.
antarMedlem sedan dec. 2001289 inlägg hjälp förstår inte rikitigt??
antarMedlem sedan dec. 2001289 inlägg vad ska det stå i nånvariabel?
OveRRidEMedlem sedan feb. 200112 078 inlägg strArray = split(session("anvandarnamn"),"¶")
for i = lbound(strArray) to ubound(strArray)
if strArray(i) = request.querystring("Anvandarnamn") then
isMatch = True
exit for
end if
next
if isMatch <> True then
'gör uppdateringen
end if
Just nu splittar koden sessions-variabeln 'anvandarnamn' och placerar den i en array som loopas igenom. Är en post i arrayen samma som request.querystring("anvandarnamn"), blir värdet isMatch -> 'True'.
Om isMatch inte är 'True' (vilket vi kollar nedanför), gör uppdateringen.
Förstår du?
antarMedlem sedan dec. 2001289 inlägg hur ska man göra när det e tomt i fältet?
då får man
Körningsfel i Microsoft VBScript (0x800A005E)
Ogiltig användning av Null: 'split'
/las.asp, line 34
jboy_87Medlem sedan aug. 20011 099 inlägg if not recset("Lasare") = "" then
'koden
else
'uppdatera
end if
antarMedlem sedan dec. 2001289 inlägg EJ dubbletter
får inte igång den den lagrar samma användarnamn till databasen endå?
Set Connect=Server.CreateObject("ADODB.Connection")
sConnect = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/Dagbok.mdb")&""
Connect.Open(sConnect)
Anvandarnamn= request.querystring("Anvandarnamn")
id= request.querystring("ID")
SQL="SELECT Lasare, Anvandarnamn FROM Dagbok WHERE Anvandarnamn='" & Anvandarnamn & "'"
Connect.execute(SQL)
Set Recset=Server.CreateObject("ADODB.Recordset")
Recset.open SQL, Connect, 3,3
adda=session("Anvandarnamn")&"="&now()&"¶"
happ=adda & recset("Lasare")
if not recset("lasare") = "" then
strArray = split(recset("Lasare"),"=")
for i = lbound(strArray) to ubound(strArray)
if strArray(i) = session("Anvandarnamn") then
isMatch = True
exit for
end if
next
if isMatch <> True then
if not recset("Anvandarnamn")=session("Anvandarnamn") then
sql="UPDATE Dagbok SET Lasare='" & happ & "' WHERE Anvandarnamn='" & Anvandarnamn &"'"
connect.execute sql,,128
connect.close
set connect = nothing
end if
end if
else
if not recset("Anvandarnamn")=session("Anvandarnamn") then
sql="UPDATE Dagbok SET Lasare='" & happ & "' WHERE Anvandarnamn='" & Anvandarnamn &"'"
connect.execute sql,,128
connect.close
set connect = nothing
end if
end if
OveRRidEMedlem sedan feb. 200112 078 inlägg
adda=session("Anvandarnamn")&"="&now()&"¶"
happ=adda & recset("Lasare")
if not recset("lasare") = "" then
strArray = split(recset("Lasare"),"=")
Det där ser lite konstigt ut, första och sista raden. Vad är det egentligen för tecken du har mellan namnen?
OveRRidEMedlem sedan feb. 200112 078 inlägg jag fattar faktiskt inte riktigt vad du har snott ihop för nåt när jag tänker efter. :o ;)
Först hämtar du ett recordset från tabellen med användarens information, sedan placerar du namnet från sessionsvariabeln i variabeln 'adda', varpå du lägger ihop ett = och datumtiden samt ett skumt tecken ( ¶ ).
Och sen sätter du ihop allt som finns i 'adda' med 'lasare' från recordset:et.. :q
Jag fattar noll.