Avatar billede radda Nybegynder
29. januar 2004 - 12:52 Der er 15 kommentarer og
3 løsninger

checkbox og insert into database

Hej

Jeg forstår ikke hvad der er galt med følgende:

<tr height="35"><td class="nyhedtekst">Vis på siden:</td>
<td><input type=CHECKBOX name="vis" value="<%= vis %>"></td></tr>

vis = request.form("vis")

if vis = "" then
vis = "No"
else
vis = "Yes"

sql = "insert into side (vis) values ('"&emne&"')

hvorfor vil den ikke smide Yes/No ned i min access DB? Jeg har tjekket at den står til Yes/No

venligst
Rasmus
Avatar billede radda Nybegynder
29. januar 2004 - 12:52 #1
sql = "insert into side (vis) values ('"&vis&"')
selvfølgelig - men det virker ikke
Avatar billede keysersoze Ekspert
29. januar 2004 - 13:06 #2
if vis = "" then
vis = "FALSE"
else
vis = "TRUE"

sql = "insert into side (vis) values ("&vis&")
Avatar billede radda Nybegynder
29. januar 2004 - 16:58 #3
ej heller vil det virke ... jeg forstår det ikke : sender hele filen:

<%
if Session("name") = "" then
    'If not, go to login page
    Response.Redirect("login.asp")
end if
%>

<!-- #include file="include/tegn.asp"-->
<!-- #include file="include/backglobal.asp"-->

<%
emneSQL = "SELECT * FROM emner"
set Emners = conn.execute(emneSQL)


'*****************************db-OPRET
if request.querystring("db")="opret" then

emne = fjerntegn(request.form("emne"))
titel = fjerntegn(request.form("titel"))
undertitel = fjerntegn(request.form("undertitel"))
beskrivelse = fjerntegn(request.form("beskrivelse"))
varighed = fjerntegn(request.form("varighed"))
pris = fjerntegn(request.form("pris"))
foredragsholder = fjerntegn(request.form("foredragsholder"))
link = fjerntegn(request.form("link"))
av = fjerntegn(request.form("av"))
h_outs = fjerntegn(request.form("h_outs"))
sprog = fjerntegn(request.form("sprog"))
maalgruppe = fjerntegn(request.form("maalgruppe"))
andet = fjerntegn(request.form("andet"))
vis = request.form("vis")
oprettet = Date


if titel="test" then
errOVERSKRIFT = "Skriv venligst en titel" + vis + "/test"
valid=valid+1
end if

if beskrivelse="" then
errOVERSKRIFT = "Skriv venligst en beskrivelse!"
valid=valid+1
end if


if vis = "" then
vis = "FALSE"
else
vis = "TRUE"


if titel="test" then
errOVERSKRIFT = "Skriv venligst en titel" + vis + "/test"
valid=valid+1
end if

if valid=0 then

retSQL="INSERT INTO foredrag (emne, titel, undertitel, beskrivelse, varighed, pris, foredragsholder, link, av, h_outs, sprog, maalgruppe, andet, oprettet, vis) "
retsql=retsql & "VALUES ('"&emne&"','"&titel&"', '"&undertitel&"', '"&beskrivelse&"', '"&varighed&"', '"&pris&"', '"&foredragsholder&"', '"&link&"', '"&av&"', '"&h_outs&"', '"&sprog&"', '"&maalgruppe&"', '"&andet&"','"&oprettet&"','"&vis&"')"
conn.execute(retsql)

response.redirect "opret_foredrag.asp?ny=ok"
end if
end if
end if
%>

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="ROBOTS" content="NOINDEX">
<link rel="stylesheet" href="include/backstyle.css">
</head>

<body topmargin="0" onLoad ="<%=onloadstr%>">
<table width="575" border="0" cellpadding="0" cellspacing="5">
<tr><td><table width="100%" border="0"><tr><td class="overskrift">Opret nyt foredrag</td><td align="right" class="almtext"><a href="http://www.xx" target="_blank">se hjemmeside</a>&nbsp;&nbsp;<a href="admin.asp">til oversigt</a></td></tr></table></td></tr>

<tr><td align="left" valign="top">
   
    </td></tr>
<tr><td align="left" valign="top">

<table width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor="#FAF9F9" bordercolor="#000000">
<tr><td align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><td align="center">

<%if request.querystring("ny")="ok" then%>
<br>
<p class="errtext" align="center">Foredraget er blevet oprettet!</p>
<p class="errtext" align="center">Klik <a href="opret_foredrag.asp">her</a> for at oprette et nyt!<br><br></p>
<%else%>

<form method="POST" name="lf" action="opret_foredrag.asp?db=opret">
<table width="90%" border="0" cellspacing="0" cellpadding="0" bgcolor="#FAF9F9">
<%if len(errOVERSKRIFT)>0 then%>
<tr><td>&nbsp;</td><td colspan="2" class="errtext" valign="bottom"><%=errOVERSKRIFT%></td></tr>
<%end if%>

<tr height="35"><td class="nyhedtekst">Emne:</td>
<td>
<form method="POST" action="somepage.asp">
<Select Name="emne" size="1">
<%While Not Emners.EOF%>
<option rows="45" value="<%= Emners("emne") %>"><%= Emners("emne") %></option>
<%
Emners.MoveNext
Wend
%>
</td></tr>

<tr height="35"><td class="nyhedtekst">Titel:</td>
<td><input type="text" size="45" name="titel" value="<%= titel %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Undertitel:</td>
<td><input type="text" size="45" name="undertitel" value="<%= undertitel %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Beskrivelse:</td>
<td><textarea cols="45" class="nyhedtekst" rows="15" name="beskrivelse"><%=beskrivelse%></textarea></td></tr>

<tr height="35"><td class="nyhedtekst">Varighed:</td>
<td><input type="text" size="45" name="varighed" value="<%= varighed %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Pris:</td>
<td><input type="text" size="45" name="pris" value="<%= pris %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Foredragsholder:</td>
<td><input type="text" size="45" name="foredragsholder" value="<%= foredragsholder %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Link til foredragsholder:</td>
<td><input type="text" size="45" name="link" value="<%= link %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Av-udstyr:</td>
<td><input type="text" size="45" name="av" value="<%= av %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Handouts:</td>
<td><input type="text" size="45" name="h_outs" value="<%= h_outs %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Sprog:</td>
<td><input type="text" size="45" name="sprog" value="<%= sprog %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Målgruppe:</td>
<td><input type="text" size="45" name="maalgruppe" value="<%= maalgruppe %>"></td></tr>

<tr height="35"><td class="nyhedtekst">Andet:</td>
<td><textarea cols="45" class="nyhedtekst" rows="5" name="andet" value="<%= andet %>"></textarea></td></tr>

<tr height="35"><td class="nyhedtekst">Vis på siden:</td>
<td><input type=CHECKBOX name="vis" value="<%= vis %>"></td></tr>





<tr height="15"><td colspan="2" class="nyhedtekst" align="left">
<br><br>

</td></tr>

<tr><td>&nbsp;</td><td align="right"><input type="submit" name="ok" value="Opret" class="almtext"></td></tr>
</table>
</form>
<%
end if%>
</tr></table>
</td></tr></table>
</td></tr></table>
</body>
</html>
Avatar billede keysersoze Ekspert
29. januar 2004 - 16:59 #4
måske var det lettere hvis du kunne fortælle hvilken fejl du får
Avatar billede radda Nybegynder
29. januar 2004 - 19:16 #5
jeg får ingen fejl - den sender blot ikke til db - smider tilbage til : /opret_foredrag.asp?db=opret

og intet andet
Avatar billede radda Nybegynder
29. januar 2004 - 20:28 #6
jeg har fundet ud af, at hvis jeg fjerner :


if vis = "" then
vis = "FALSE"
else
vis = "TRUE"
end if

fejler den ikke ... dette kode er vel fin nok ...

jeg hæver gerne til 60 pt ...

r
Avatar billede the_bma_man Nybegynder
30. januar 2004 - 15:03 #7
Du skal fjerne gåseøjnene omkring TRUE og FALSE.
Det er en boolsk værdi, du arbejder med - ikke en streng
Avatar billede radda Nybegynder
30. januar 2004 - 15:27 #8
det virker stadig ikke

jeg får ingen fejl, men den opretter ikke i db -

udtræk fra kode:

vis = fjerntegn(request.form("vis"))

if vis = "" then
vis = FALSE
else
vis = TRUE

********
retSQL="INSERT INTO foredrag (kategori, titel, undertitel, beskrivelse, varighed, pris, foredragsholder, link, av, h_outs, sprog, maalgruppe, andet, oprettet, vis) "
retsql=retsql & "VALUES ('"&kategori&"','"&titel&"', '"&undertitel&"', '"&beskrivelse&"', '"&varighed&"', '"&pris&"', '"&foredragsholder&"', '"&id&"', '"&av&"', '"&h_outs&"', '"&sprog&"', '"&maalgruppe&"', '"&andet&"','"&oprettet&"','"&vis&"')"

****
<tr height="35"><td class="nyhedtekst">Vis på siden:</td>
<td><input type=CHECKBOX name="vis" value="<%= vis %>"></td></tr>

Følgende giver ikke noget udtræk:

if titel="test" then
errOVERSKRIFT = "test" + vis + "/test"
valid=valid+1
end if

Dette giver: test/test, så indeholdet at checkboxen bliver vel aldrig hentet?

jeg forstår det ikke

R
Avatar billede keysersoze Ekspert
30. januar 2004 - 15:34 #9
hvis ikke den indsætter noget, ikke kommer med nogle fejl - og ellers ser ud som om virker, så kan den eneste grund være at valid IKKE er lig 0

altså denne betingelse

if valid=0 then

bliver ikke opfyldt
Avatar billede the_bma_man Nybegynder
30. januar 2004 - 15:40 #10
Prøv lige at lave en response.write(retSQL)
og post resultatet her.
Avatar billede radda Nybegynder
30. januar 2004 - 15:50 #11
Keyser: nå ja - jeg havde placeret en end if forkert ---

men nu får jeg følgende fejl
***snip
if vis = "" then
vis = False
else
vis = True
end if
***/snip

Microsoft JET Database Engine (0x80040E07)
Datatyperne stemmer ikke overens i kriterieudtrykket.

jeg bruger access og den står til data type: Yes/no - format True/False

bma --- den når ikke ned til retSQL

R
Avatar billede keysersoze Ekspert
30. januar 2004 - 15:52 #12
if vis = "" then
vis = "False"
else
vis = "True"
end if
Avatar billede radda Nybegynder
30. januar 2004 - 15:52 #13
stadig:
Datatyperne stemmer ikke overens i kriterieudtrykket.
Avatar billede keysersoze Ekspert
30. januar 2004 - 15:58 #14
det er svært at gætte sig frem når man ikke kender felttyperne

retSQL="INSERT INTO foredrag (kategori, titel, undertitel, beskrivelse, varighed, pris, foredragsholder, link, av, h_outs, sprog, maalgruppe, andet, oprettet, vis) "
retsql=retsql & "VALUES ('"&kategori&"','"&titel&"', '"&undertitel&"', '"&beskrivelse&"', '"&varighed&"', '"&pris&"', '"&foredragsholder&"', '"&id&"', '"&av&"', '"&h_outs&"', '"&sprog&"', '"&maalgruppe&"', '"&andet&"','"&oprettet&"',"&vis&")"

hvis alle felter pånær "vis" er tekst/notat felter så prøv ovenstående
Avatar billede the_bma_man Nybegynder
30. januar 2004 - 16:05 #15
Hvis den ikke når ned til der, hvor du sætter retsql=<en lang streng her>, så er det fordi, valid ikke er 0.
Og hvis den kommer til at køre dit sql - der jo fejler - så har du jo bygget strengen op.
Prøv at udkommentere
conn.execute(retsql)
response.redirect "opret_foredrag.asp?ny=ok"
og put min response.write sætning ind i stedet.
Avatar billede radda Nybegynder
30. januar 2004 - 16:16 #16
vender tilbage senere

tak for ihærdigheden

rasmus
Avatar billede the_bma_man Nybegynder
01. februar 2004 - 23:31 #17
og?
Avatar billede radda Nybegynder
02. februar 2004 - 10:27 #18
sorry ...

jeg opgav ... kunne ikke gennemskue det - istedet lavede jeg en drop down box, med ja/nej som værdier, og smider nu dem i db ...

tak for hjælpen dog --- det er mig dog stadig en gåde ...

rasmus
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester