webForumDet fria alternativet

byte av användarnamn eller inte

ASP

12 svar · 797 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

har lite problem med att få detta att funka, om datumet ligger framåt i tiden så kommer inga formulär fram som det ska men har ingen ändrat så står det 0000-00-00 i db och då ska man kunna ändra men det gör det inte

har man ändrat och datumet är satt 6 mån framåt så ska man kunna ändra
står det 0000-00-00 som datum så ska man kunna ändra

<%Set settings=objConn.Execute("Select * From tblUsers WHERE userID="& UserID)
if settings("usrChange") > Date() or settings("usrChange") = "0000-00-00" then%>
Nytt användarnamn: 
<input type="text" name="txtUsername" value="" class="textbox">
<input class="button" type="submit" value="Byt användarnamn">
<%else%>
Nästa byte kan ske tidigast <%=settings("usrChange")%>
<%end if%>
Medlem sedan feb. 20032 027 inlägg
#2

vad har jag för fel i den koden?

Medlem sedan juni 20019 519 inlägg
#3

1. Vad är usrChange för något en sträng eller datum? se till att du gemför rätt datatyp.
2. När en användare nu har sparat ett nytt användarnamn, kommer den alltid sparas med ett datum större än sig själv?
3. Vad är det som inte fungera?

Medlem sedan feb. 20032 027 inlägg
#4

usrchange är ett datum, när en användare byter namn så sparas ett datum som är 6 månader in i framtiden från dagens datum, det som inte fungerar är att formuläret inte kommer fram när en användare inte har genomfört nåt byte eller datumet redan är passerat och ett nytt byte är tillåtet

Medlem sedan juni 20019 519 inlägg
#5

"0000-00-00" är inget datum, vad ger settings("usrChange") när du vill att det skall vara 0000-00-00? CStr() om du skall kolla datatypen sträng, datum är inte en sträng.

Medlem sedan feb. 20032 027 inlägg
#6

eftersom usrchange är ett datum så tänkte jag använda CInt och får detta

Microsoft VBScript runtime error '800a0006'

Overflow: 'cint'

/settings/change/personal.asp, line 146

Medlem sedan feb. 20032 027 inlägg
#7

när jag skriver
response.write settings("usrchange") får jag på mig 2009-10-11 och det stämmer

på ett konto som inte har något byte så får jag inget resultat
att jag har 0000-00-00 beror på att det är defaultvärdet

Medlem sedan juni 20019 519 inlägg
#8

men fortfarande: ett datum är inte en sträng typkonvertera det till en sträng, ett datum är inte ett tal cINT är c = convert, gör om till tal, vilket du inte försöker gemföra, du försöker gemföra en sträng med ett datum.

Medlem sedan feb. 20032 027 inlägg
#9

voigtann1 skrev:

"0000-00-00" är inget datum, vad ger settings("usrChange") när du vill att det skall vara 0000-00-00? CStr() om du skall kolla datatypen sträng, datum är inte en sträng.

menar du
if CStr(settings("usrChange")) > Date() or CStr(settings("usrChange")) = "0000-00-00" then%>
så får jag
Microsoft VBScript runtime error '800a005e'

Invalid use of Null: 'CStr'

/settings/change/personal.asp, line 148

och
if settings("usrChange") > CStr(Date()) or settings("usrChange") = CStr("0000-00-00") then%>
ger samma resultat som innan, ingenting

känns som om jag är helt dum i huvudet :-)

Medlem sedan juni 20019 519 inlägg
#10

Då är inte settings("usrChange") alls 0000-00-00 det är null om den inte har något i databasen.

if settings("usrChange") > CStr(Date()) or settings("usrChange") is null then

Och varför typ konvertera en sträng till en sträng..

Medlem sedan feb. 20032 027 inlägg
#11

voigtann1 skrev:

Då är inte settings("usrChange") alls 0000-00-00 det är null om den inte har något i databasen.

if settings("usrChange") > CStr(Date()) or settings("usrChange") is null then

Och varför typ konvertera en sträng till en sträng..

tack för din hjälp, nu ska jag bara försöka hitta objektet den söker

<%varDate=settings("usrChange")
varNull=settings("usrChange")
if varDate > CStr(Date()) or varNull is null then%>

Microsoft VBScript runtime error '800a01a8'

Object required

/settings/change/personal.asp, line 148

Medlem sedan juni 20019 519 inlägg
#12
if settings("usrChange") > CStr(Date()) or IsNull(settings("usrChange")) then
Medlem sedan feb. 20032 027 inlägg
#13

voigtann1 skrev:

if settings("usrChange") > CStr(Date()) or IsNull(settings("usrChange")) then

jättestort tack, du är suverän

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)