webForumDet fria alternativet

ett eller noll i databasen

ASP

15 svar · 683 visningar · startad av WebbisNet

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

när man kryssar i en checkbox så vill jag att värdetska sättas till ett, är den inte ikryssad så ska värdet sättas till noll

kan nån hjälpa mig att få detta att funka

<form action="/Save/saveVisaFakta.asp">

<%If settings("hideFacts") = 1 Then%>
<input type="checkbox" value="1" name="chkVisaFakta" checked><%Else%>
<input type="checkbox" value="0" name="chkVisaFakta"><%End If%>
<input class="Button" type="submit" value="Ok">

</form>

För att spara ovanstående val

If request.form("chkVisaFakta") = "1" then
	SQL1 = "update tblUsers set hideFacts=1 where userID=" & Session("userID") &" "
	Else
	SQL1 = "update tblUsers set hideFacts=0 where userID=" & Session("userID") &" " 
	End If
Medlem sedan maj 200010 687 inlägg
#2
<form action="/Save/saveVisaFakta.asp">

<input type="checkbox" value="1" name="chkVisaFakta"<%If settings("hideFacts") = 1 Then Response.Write " checked"%>>
<input class="Button" type="submit" value="Ok">

</form>
SQL1 = "update tblUsers set hideFacts=" & CLng(request.form("chkVisaFakta")) & " where userID=" & Session("userID")
Medlem sedan feb. 20032 027 inlägg
#3

jag bytte till ja/nej checkbox i db och när jag byter mot true och tar bort clng så får jag inte med nåt värde

update tblUsers set hideFacts= where userID=1
Microsoft JET Database Engine error '80040e14'

Syntax error in UPDATE statement.

/Save/saveVisaFakta.asp, line 16

Medlem sedan maj 200010 687 inlägg
#4

Du specificerade klart och tydligt att du ville ha ett eller noll.
Men visst, vill du ha True/False så kan du skriva CBool istället för CLng.

Det fina med CBool/CLng är att man får False/0 när värdet är Empty.

Medlem sedan feb. 20032 027 inlägg
#5

Erik Juhlin skrev:

Du specificerade klart och tydligt att du ville ha ett eller noll.
Men visst, vill du ha True/False så kan du skriva CBool istället för CLng.

Det fina med CBool/CLng är att man får False/0 när värdet är Empty.

Jag följde ditt exempel exakt och bytte ut CLng mot CBool men rutan blir inte sann när jag väljer det, ständigt false

Medlem sedan maj 200010 687 inlägg
#6

Vad har du för value på checkboxen?

Medlem sedan feb. 20032 027 inlägg
#7

Erik Juhlin skrev:

Vad har du för value på checkboxen?

får detta när jag kryssar i checkboxen
update tblUsers set hideFacts=False where userID=1

Medlem sedan maj 200010 687 inlägg
#8

Vad har du för value på checkboxen?

Medlem sedan feb. 20032 027 inlägg
#9

Erik Juhlin skrev:

Vad har du för value på checkboxen?

jag har testat med 1 och true som value på checkboxen, båda returnerar false

Medlem sedan maj 200010 687 inlägg
#10

Låter ganska mysko.
Vad skrivs ut om du skriver ut request.form("chkVisaFakta") på sidan efter att du kryssat i kryssrutan och submittat?
Kanske kan du visa lite mer kod..?

Medlem sedan dec. 19996 721 inlägg
#11

Sätt value till 1, och sql:en till

-len(request.form("chkVisaFakta"))

Medlem sedan feb. 20032 027 inlägg
#12

jag får update tblUsers set hideFacts=0 where userID=1 när jag skriver ut sql-satsen, har inte mer kod än den jag redan har visat tidigare i denna tråd

Fattar själv inte varför jag får falsen när jag skickar med true och 0 när jag skickar med 1

som koden är nu

<form action="/Save/saveVisaFakta.asp">
Visa faktarutan:
<input type="checkbox" value="1" name="chkVisaFakta"<%If settings("hideFacts") = 1 Then Response.Write " checked"%>>
<input class="Button" type="submit" value="Ok">
</form>
<!-- #include virtual="/include/dbconn.asp" -->
<!-- #include virtual="/include/functions.asp" -->
<%
Dim objConn, SQL, userID

	SET objConn = connect()
	
	
SQL1 = "update tblUsers set hideFacts=" & -len(request.form("chkVisaFakta")) & " where userID=" & Session("userID")	
	
	response.write SQL1
	response.end
    
	objConn.Execute(SQL1)
	response.redirect "/settings/?info=personal&change=extra"
%>
Medlem sedan maj 200010 687 inlägg
#13

Du har inte specificerat att du vill att formuläret ska postas. Nu skickas allt i querystringen.

<form action="/Save/saveVisaFakta.asp" method="post">
Medlem sedan feb. 20032 027 inlägg
#14

Erik Juhlin skrev:

Du har inte specificerat att du vill att formuläret ska postas. Nu skickas allt i querystringen.

<form action="/Save/saveVisaFakta.asp" method="post">

Hur kan det vara möjligt att glömma en sån simpel sak *slår mig hårt i huvudet*

Medlem sedan maj 200010 687 inlägg
#15

Du kan trösta dig med att vi var fler som missade det. :)

Medlem sedan feb. 20032 027 inlägg
#16

Erik Juhlin skrev:

Du kan trösta dig med att vi var fler som missade det. :)

Man stirrar sig blind på det som inte går och märker inte det som fattas :-)

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)