Avatar billede pfp Nybegynder
23. februar 2003 - 20:04 Der er 12 kommentarer og
2 løsninger

Ja/Nej i database...

Hej,

Jeg har følgende kode:

<%
    SQL = "INSERT INTO Menupunkter (Menupunkt, Single, Side)"
    SQL = SQL & " VALUES ("
    SQL = SQL & "'" & Request.Form("Titel") & "', "
    SQL = SQL & "True" & ", "
    SQL = SQL & Request.Form("Tal")
    SQL = SQL & ")"
    'Response.Write SQL
    Conn.Execute(SQL)
    Response.Redirect("Main.asp")
%>

Jeg forsøger at gemme Titel, ja eller nej fra en checkbox og et tal.

Jeg får syntax error. Jeg tror det er:
SQL = SQL & "True" & ", "
den ikke sluger.

Hvordan gemmer man ja/nej i en database. Datatypen for feltet single er sat til ja/nej i db'en.

/peter
Avatar billede eagleeye Praktikant
23. februar 2003 - 20:06 #1
Prøv med 1 i stedet for True og 0 for false:

SQL = SQL & "1" & ",
Avatar billede pfp Nybegynder
23. februar 2003 - 20:10 #2
Hej,

Det giver samme fejl...
Avatar billede boris Mester
23. februar 2003 - 20:11 #3
Det kommer an på databasetypen.
Access kan godt gemme True/False.
MySQL kan ikke, her kan du bruge tinyint og sætte værdien til 0 eller 1.
Prøv også at skrive =Trim(Request.Form("tal"))
Avatar billede eagleeye Praktikant
23. februar 2003 - 20:15 #4
Hvis det er Access så er single rerserveret ord i SQL, så du skal havde [] omkring. Jeg tror måske mere det er derfor, for true og false skulle virke:


    SQL = "INSERT INTO Menupunkter (Menupunkt, [Single], Side)"
    SQL = SQL & " VALUES ("
    SQL = SQL & "'" & Request.Form("Titel") & "', "
    SQL = SQL & "True" & ", "
    SQL = SQL & Request.Form("Tal")
    SQL = SQL & ")"
Avatar billede pfp Nybegynder
23. februar 2003 - 20:15 #5
Det er Access.

Jeg har forsøgt både med "1", 1, "True", True

Men uden held.

Hvis jeg udskriver min SQL får jeg:
INSERT INTO Menupunkter (Menupunkt, Single, Side) VALUES ('tester', 1, 30)
Avatar billede pfp Nybegynder
23. februar 2003 - 20:16 #6
okay eagle det prøver jeg lige
Avatar billede boris Mester
23. februar 2003 - 20:18 #7
Det ser ud som om du ikke har ' på begge sider af True.
Kan det passe?
Avatar billede pfp Nybegynder
24. februar 2003 - 00:20 #8
boris jeg har prøve både med og uden '.

Eagleeye -> Jeg har nu også forsøgt med [] og endda omdøbt mit felt Single til Alone...men uden held.

Som jeg står nu ser min kode sådan her ud:
    SQL = "INSERT INTO Menupunkter (Menupunkt, Alone, Side)"
    SQL = SQL & " VALUES ("
    SQL = SQL & "'" & Request.Form("Titel") & "', "
    SQL = SQL & "'True'" & ", "
    SQL = SQL & Request.Form("Tal")
    SQL = SQL & ")"
    'Response.Write SQL
    Conn.Execute(SQL)
    Response.Redirect("Main.asp")
Avatar billede eagleeye Praktikant
24. februar 2003 - 00:21 #9
Der skal ikkke ' omkring true og false i Ja/Nej felt. Et ja/Nej felt er lige som et tal felt.:

    SQL = SQL & "'True'" & ", "

Til:
    SQL = SQL & "True" & ", "
Avatar billede pfp Nybegynder
24. februar 2003 - 00:23 #10
Som jeg skrev har forsøgt både med og uden '.

Det var da mystisk...
Avatar billede eagleeye Praktikant
24. februar 2003 - 00:24 #11
Ok hvilken datatype er Menupunkt, Alone, Side?
Får du stadig syntax fejl?
Avatar billede pfp Nybegynder
24. februar 2003 - 00:27 #12
Der er en syntaksfejl i INSERT INTO-sætningen.

Menupunkt = Tekst
Alone = Ja/Nej
Side = Tal
Avatar billede eagleeye Praktikant
24. februar 2003 - 00:29 #13
Det fatter jeg ikke.. Prøv at sætte [] omkring tabel og kolonne navne det må være noget som den går galt i:

SQL = "INSERT INTO [Menupunkter] ([Menupunkt], [Alone], [Side])"

Og du er sikker på at tallet tal er med?
Avatar billede pfp Nybegynder
24. februar 2003 - 00:31 #14
Jeg er flov nu...det var en dum stavefejl :-(

Tak for Jeres tid, beklager at det var en fejl som i umuligt kunne finde.

Venligst,
Peter
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