/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Checkbox: værdi ti DB
Fra : **[laessoe]**


Dato : 15-10-03 15:31

Jeg har problemer med at smide værdien af 4 checkboxe i min DB
(test.mdb)

Jeg har Checkbox 1, Checkbox 2, Checkbox 3, Checkbox 4 i min
"form.htm" der poster til "indsaet.asp", som indsætter i tabel
"user" i felteterne "CB1", "CB2", "CB3" & "CB4" i min DB
"test.mdb" (felterne er sat til ja/nej).

Jeg har forsøgt mange ting, men ender hele tiden op med
"Serverfejl...", når jeg forsøger at submitte form.htm til
indsaet.asp - kan nogen give mig et forslag til, hvordan jeg
requester på indsaet.asp så at felternes værdi skal til DB'en??



--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (15-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 15-10-03 15:40

**[laessoe]** skrev:

> Jeg har Checkbox 1, Checkbox 2, Checkbox 3, Checkbox 4 i min
> "form.htm" der poster til "indsaet.asp", som indsætter i tabel
> "user" i felteterne "CB1", "CB2", "CB3" & "CB4" i min DB
> "test.mdb" (felterne er sat til ja/nej).

OBS: Ja/nej-indstillingen har kun noget med visningen af feltet at
gøre. Når du indsætter i feltet skal du bruge true/false (samt evt.
null).


> Jeg har forsøgt mange ting, men ender hele tiden op med
> "Serverfejl...",

*Hvilken* serverfejl?

En fejl 500: <http://asp-faq.dk/article/?id=45>

Andre fejl: <http://asp-faq.dk/article/?id=41>

(det forekommer mig at du har fået disse links før)


> når jeg forsøger at submitte form.htm til indsaet.asp - kan
> nogen give mig et forslag til, hvordan jeg requester på
> indsaet.asp så at felternes værdi skal til DB'en??


Checkbokse er lidt tricky. Hvis der er hak i dem returneres den
værdi der er angivet i value (eller "on" hvis der ikke er angivet
noget). Hvis der ikke er noget hak, returneres ingen ting.

Send os din resulterende sql-sætning - og de kodelinjer der
vedrører din checkboks.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

**[laessoe]** (15-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 15-10-03 23:09

> (det forekommer mig at du har fået disse links før)

I know, men det skal siges at inden jeg poster mine indlæg har jeg
(synes jeg selv), læst alt hvad jeg kan finde ang. mine spørgsmål -
også asp-faq.dk

> Send os din resulterende sql-sætning - og de kodelinjer der
> vedrører din checkboks.

min form.htm:

<form action="indsaet.asp" method="post">
<input type="checkbox" name="Konto" value="ON">
<input type="checkbox" name="Bank" value="ON">
<input type="checkbox" name="Kontant" value="ON">
<input type="checkbox" name="Giro" value="ON">
<input type="submit" value=">>> Opret i databse >>>">
<form>

min indsaet.asp:


<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("test.mdb")
Conn.Open DSN

strSQL = "Insert into personer ("

strSQL = strSQL & "Konto, "
strSQL = strSQL & "Bank, "
strSQL = strSQL & "Kontant, "
strSQL = strSQL & "Giro) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("Konto") & "', "
strSQL = strSQL & "'" & Request.Form("Bank") & "', "
strSQL = strSQL & "'" & Request.Form("Kontant") & "', "
strSQL = strSQL & "'" & Request.Form("Giro") & "')"

If Request.Form("Konto") = "" Then
Konto = False
else
Konto = True
End if

If Request.Form("Bank") = "" Then
Bank = False
else
Bank = True
End if

If Request.Form("Kontant") = "" Then
Kontant = False
else
Kontant = True
End if

If Request.Form("Giro") = "" Then
Giro = False
else
Giro = True
End if

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing
%>

Fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in
criteria expression.

/Login/Adm/Test/indsaet.asp, line 132

...der er i øvrigt ikke 132 linier i scrptet??!!

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (16-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-10-03 00:16

**[laessoe]** skrev:

>> (det forekommer mig at du har fået disse links før)
>
> I know, men det skal siges at inden jeg poster mine indlæg har
> jeg (synes jeg selv), læst alt hvad jeg kan finde ang. mine
> spørgsmål - også asp-faq.dk

Så er jeg bange for at du har misset en pointe eller to. Det er
ikke fordi du skal (eller kan) finde svar på ethvert spørgsmål på
asp-faq.dk - men du kan komme noget hurtigere fra start ved at
følge de råd der er på <http://asp-faq.dk/article/?id=41>.

De vigtigste pointer er:
- Fortæl *præcis* hvad der sker (fejlkode og fejltekst - ikke blot
etiketten "serverfejl")

- udskriv sql-sætninger hvis der er fejl i .execute eller .open-
linjer.

- send relevant kode, ikke bare det hele.


> [Microsoft][ODBC Microsoft Access Driver] Data type mismatch
> in criteria expression.

Jeg kan godt se hvad fejlen er - og det kan du formentlig også hvis
du skriver din sql-sætning ud. Hvis ikke, så send den udskrevne
sql-sætning hertil - ikke andet.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

**[laessoe]** (16-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 16-10-03 11:04

Jens GyldenkærneClausen wrote

> - udskriv sql-sætninger hvis der er fejl i .execute eller .open-
> linjer.

Jeg er ikke sikker på hvad du mener med 'udskriv sql-sætninger'??

> - send relevant kode, ikke bare det hele.

Problemet er tit, at jeg ikke har nogen som helst ide om, hvor eller
hvad fejlen er og hvad der er relevant kode eller ej. Sidst jeg
sendte det jeg regnede med var den relevante kode, fik jeg "skæld
ud" for det. Jeg har det med at stirre mig blind på koderne i det
jeg ikke er så øvet i asp endnu.

> Jeg kan godt se hvad fejlen er - og det kan du formentlig også
hvis
> du skriver din sql-sætning ud.

Nu har jeg, komma for komma, apostrof for apostrof gennemgået koden
og må melde pas - jeg kan SIMPELTHEN ikke finde ud af hvad der
fårsager fejlen.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Chrisser (16-10-2003)
Kommentar
Fra : Chrisser


Dato : 16-10-03 11:24

**[laessoe]** wrote:
> Jens GyldenkærneClausen wrote
>
>> - udskriv sql-sætninger hvis der er fejl i .execute eller .open-
>> linjer.
>
> Jeg er ikke sikker på hvad du mener med 'udskriv sql-sætninger'??

Du udskriver din sql umiddelbart før eksekvering:
<%
Response.write strSql
Response.flush
Conn.Execute(strSQL)
%>

Derved vil du få vist sql-sætningen i sin helhed inklusiv værdierne af dine
variable, og den poster du herind ( hvis du ikke selv finder fejlen ved at
kige på den )

>> - send relevant kode, ikke bare det hele.
>
> Problemet er tit, at jeg ikke har nogen som helst ide om, hvor eller
> hvad fejlen er og hvad der er relevant kode eller ej. Sidst jeg
> sendte det jeg regnede med var den relevante kode, fik jeg "skæld
> ud" for det. Jeg har det med at stirre mig blind på koderne i det
> jeg ikke er så øvet i asp endnu.

Den relevante kode vil som regel være den linie som fejler samt nogle linier
før og efter denne linie.


Chrisser



Jens Gyldenkærne Cla~ (16-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-10-03 11:54

**[laessoe]** skrev:


> Jeg er ikke sikker på hvad du mener med 'udskriv
> sql-sætninger'??

Læs <http://asp-faq.dk/article/?id=41>.


>> - send relevant kode, ikke bare det hele.

> Problemet er tit, at jeg ikke har nogen som helst ide om, hvor
> eller hvad fejlen er og hvad der er relevant kode eller ej.

ASP-parseren fortæller hvilken linje der er fejl i (hvis der er
tale om en asp-fejl). Den linje er altid relevant. Hvis linjen
indeholder en variabel, så er indholdet af variablen også relevant.

Eksempel:

Et script fejler ved følgende linje:

conn.Execute (strSQL)

Det er særdeles relevant at se præcis den linje der fejler - altså
skal "conn.Execute (strSQL)" medtages i indlægget. Når linjen
fejler vil det ofte være fordi en variabel indeholder noget
forkert. Den eneste måde man kan se hvad der er inde i variablen på
kørselstidspunktet, er ved at udskrive den. Altså - ind med

   Response.write strSQL
   Response.End

- umiddelbart før den linje der fejler. Resultatet af den
response.write-linje er særdeles relevant at sende til gruppen.

Det _kan_ være relevant at vise hvordan man opbygger strSQL. Det
sker ofte ved en lang række linjer a la:

strSQL = "INSERT INTO mintabel "
strSQL = strSQL & " (bla, blabla, blablabla)
....

- men de linjer er først interessante når man kan se hvad de ender
med at generere. Derfor: *husk* at udskrive sql-sætningen før du
spørger.


> Sidst jeg sendte det jeg regnede med var den relevante kode,
> fik jeg "skæld ud" for det. Jeg har det med at stirre mig
> blind på koderne i det jeg ikke er så øvet i asp endnu.

Det er ikke altid helt let at vide hvor meget man skal sende med -
indrømmet. Men igen, brug fejlmeddelelserne fra asp-parseren til at
indkredse problemet. Start med at finde den linje der fejler. Så
kig på evt. variable i linjen - sørg for at få dem skrevet ud så du
kan se hvad der er i dem. Derefter kan man kigge efter linjer der
bruges til at opbygge de variable der er i spil. Start fra den
linje der fejler og gå baglæns for at se hvor værdierne stammer
fra. Hvis du mister overblikket, så brug response.write til at
skrive debug-værdier ud under en kørsel. Fx som følger:


Response.write "Start på if-sætning"
If rs.EOF Then
    Response.write "rs.EOF = sand"
   ' kode til if-løkken

Else
   Response.write "rs.EOF = falsk"
   ' kode til if-løkke
End If


>> Jeg kan godt se hvad fejlen er - og det kan du formentlig
>> også hvis du skriver din sql-sætning ud.

> Nu har jeg, komma for komma, apostrof for apostrof gennemgået
> koden og må melde pas - jeg kan SIMPELTHEN ikke finde ud af
> hvad der fårsager fejlen.

Som nævnt et par gange - skriv din sql-sætning ud, så er det meget,
meget lettere. Det er beskrevet adskillige gange hvordan det gøres.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

**[laessoe]** (16-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 16-10-03 20:34

>    Response.write strSQL
>    Response.End

Det virkede sørme! Nu kører det lige igennem, *men* når jeg selecter
værdien i db'en, returneres false selvom checkboxen er afkrydset.
Selvom felterne er sat til ja/nej sand/falsk.

ØV! Her er hvad der står når jeg udskriver sql'en:

Insert into personer (Konto, Bank, Kontant, Giro) values( 'ON', 'ON',
'', '')

Mit eget gæt er, at der er noget galt med min IF sætning (:

If Request.Form("Konto") = "" Then
Konto = False
else
Konto = True
End if

If Request.Form("Bank") = "" Then
Bank = False
else
Bank = True
End if

If Request.Form("Kontant") = "" Then
Kontant = False
else
Kontant = True
End if

If Request.Form("Giro") = "" Then
Giro = False
else
Giro = True
End if

Response.write strSQL
Response.end

Conn.Execute(strSQL)
%>

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (17-10-2003)
Kommentar
Fra : Jørn Andersen


Dato : 17-10-03 01:22

On Thu, 16 Oct 2003 19:34:06 +0000 (UTC), **[laessoe]**
<laessoe@yahoo.com> wrote:

>Mit eget gæt er, at der er noget galt med min IF sætning (:
>
>If Request.Form("Konto") = "" Then
>Konto = False
>else
>Konto = True
>End if

Hvorfor tester du på det den (evt.!) *ikke* skal være, i stedet for at
teste på det den skal være? Prøv med:
If Request.Form("Konto") = "ON" Then
Konto = True
Else
Konto = False
End If
- eller hvad du nu har sat value til.

Hvis du er i tvivl om, hvad du *rent faktisk* får ud af din form, så:
Response.Write Request.Form("Konto")
+ evt.:
Response.Write IsEmpty(Request.Form("Konto"))

Formularen returnerer værdien Empty, når checkbox'en ikke er
afkrydset.

Måske du også bliver klogere af:
Response.Write TypeName(Request.Form("Konto"))

Good luck!

--
Jørn Andersen,
Brønshøj

**[laessoe]** (17-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 17-10-03 07:43

> Hvorfor tester du på det den (evt.!) *ikke* skal være, i stedet for at
> teste på det den skal være? Prøv med:
> If Request.Form("Konto") = "ON" Then
> Konto = True
> Else
> Konto = False
> End If

Den er prøvet. Men uanset om den er checket eller ej er feltet i db'en
blankt?

Når jeg udskriver sql-sætningen modtager jeg følgende:

Insert into personer (Konto, Bank, Kontant, Giro) values( 'ON', 'ON',
'', '')

Men i tabellen personer er felterne Konto, Bank, Kontant og Giro blanke?

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (17-10-2003)
Kommentar
Fra : Jørn Andersen


Dato : 17-10-03 10:09

On Fri, 17 Oct 2003 06:42:46 +0000 (UTC), **[laessoe]**
<laessoe@yahoo.dk> wrote:

>> If Request.Form("Konto") = "ON" Then
>> Konto = True
>> Else
>> Konto = False
>> End If
>
>Den er prøvet. Men uanset om den er checket eller ej er feltet i db'en
>blankt?

Hvad så med de andre ting, jeg foreslog?

>Når jeg udskriver sql-sætningen modtager jeg følgende:
>
>Insert into personer (Konto, Bank, Kontant, Giro) values( 'ON', 'ON',
>'', '')

Prøv at kigge på rækkefølgen i dit script.
Du har:
strSQL = strSQL & "'" & Request.Form("Konto") & "', "
osv.

Men bagefter:
If Request.Form("Konto") = "" Then
Konto = False
else
Konto = True
End if

Men det får jo ingen indflydelse på SQL-strengen.

Prøv med:
If Request.Form("Konto") = "" Then
Konto = False
else
Konto = True
End if

strSQL = strSQL & "'" & Konto & "', "
osv.


Good luck!

--
Jørn Andersen,
Brønshøj

Jens Gyldenkærne Cla~ (17-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-10-03 10:26

**[laessoe]** skrev:

> ØV! Her er hvad der står når jeg udskriver sql'en:
>
> Insert into personer (Konto, Bank, Kontant, Giro) values(
> 'ON', 'ON', '', '')

Godt! - nu er der noget at arbejde med. Alle felterne herover er
booleske (ja/nej) - derfor skal værdierne være enten True eller
False - uden anførselstegn. Hverken 'ON' eller '' (som er de
værdier du prøver at indsætte nu) - eller 'True' eller 'False' er
gyldige værdier.


> Mit eget gæt er, at der er noget galt med min IF sætning (:

Måske, men det er ikke hovedproblemet.

Du skriver først

....
strSQL = strSQL & "'" & Request.Form("Konto") & "', "

Og lidt senere skriver du:

> If Request.Form("Konto") = "" Then
> Konto = False
> else
> Konto = True
> End if


Det vil sige at du slet ikke benyter din if-sætning i strSQL.

Du skal flytte rundt på din kode sådan at du først kører de fire
if-sætninger og derefter opbygger sql-strengen. Og så skal du
benytte værdierne fra dine if-variable (fx konto) i stedet for
Request-værdierne. Sidste lille ting - da du opbygger en streng til
databasen, kan du lige så godt lade if-sætningerne returnere "True"
eller "False" i stedet for True/False. Ellers kan du få problemer
med strengsammensætningen.

Her er en skabelon til hvordan jeg ville gøre det. Jeg har samlet
dine if-sætninger til en funktion:


<%
' Funktion der tager en request.form-værdi
' og returnerer en boolesk værdi der kan bruges
' i en sql-kommando
Function checkBox2DBBool(boolVal)
   If boolVal & "" = "" Then
       checkBox2DBBool = "False"
   Else
       checkBox2DBBool = "True"
   End If
End Function


Dim konto, bank, kontant, giro

konto = checkBox2DBBool(Request.Form("konto"))
bank = checkBox2DBBool(Request.Form("bank"))
kontant = checkBox2DBBool(Request.Form("kontant"))
giro = checkBox2DBBool(Request.Form("giro"))


strSQL = "INSERT INTO personer (konto, bank, kontant, giro) " & _
   "VALUES (" & konto & ", " & bank & ", " & _
           kontant & ", " & giro & ")"


' Debugudskrivning: - fjern udkommentering ved fejl
' Response.write strSQL
' Response.END

Conn.Execute (strSQL)

%>

NB: Skal du ikke have nogle personoplysninger med i tabellen?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

**[laessoe]** (17-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 17-10-03 13:26

> Her er en skabelon til hvordan jeg ville gøre det. Jeg har samlet
> dine if-sætninger til en funktion:

Super - den tester jeg lige senere.

> NB: Skal du ikke have nogle personoplysninger med i tabellen?

Jo, jeg kører indsamlingen af person/firma-informationer *over* de 4
checkboxe. Dem er der ikke nogen problmer med. De lægger sig pænt i
db'en, så det irriterede mig at jeg ikke kunne få værdierne fra
checkboxene.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (17-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-10-03 14:08

**[laessoe]** skrev:

>> NB: Skal du ikke have nogle personoplysninger med i tabellen?
>
> Jo, jeg kører indsamlingen af person/firma-informationer
> *over* de 4 checkboxe.

Min pointe er at en insert giver en ny post - så hvis du fx skriver
som eksemplet herunder, så vil du få oprettet to poster der ikke er
releteret.

'***** EKSEMPEL ***************************************
' Indsæt personoplysninger
strSQL = "INSERT INTO personer (navn, ..."
strSQL = strSQL & "VALUES ('" & navn & "' ...

conn.Execute (strSQL)


' Indsæt checkboksoplysninger

strSQL = "INSERT INTO personer (konto...
...

conn.Execute (strSQL)
'***** /EKSEMPEL ***************************************


Men hvis du bare har fjernet de andre feltnavne til eksemplet her,
er det fint nok.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

**[laessoe]** (17-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 17-10-03 23:48

> Min pointe er at en insert giver en ny post - så hvis du fx skriver
> som eksemplet herunder, så vil du få oprettet to poster der ikke er
> releteret.
>
> '***** EKSEMPEL ***************************************
> ' Indsæt personoplysninger
> strSQL = "INSERT INTO personer (navn, ..."
> strSQL = strSQL & "VALUES ('" & navn & "' ...
>
> conn.Execute (strSQL)
>
>
> ' Indsæt checkboksoplysninger
>
> strSQL = "INSERT INTO personer (konto...
> ...
>
> conn.Execute (strSQL)
> '***** /EKSEMPEL ************************************

Det var den oprindlige plan, men som du nævner, virkede det ikke så
derfor...:

> Men hvis du bare har fjernet de andre feltnavne til eksemplet her,
> er det fint nok.

...lavede jeg det således (det virker!):

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN

Function checkBox2DBBool(boolVal)
If boolVal & "" = "" Then
checkBox2DBBool = "False"
Else
checkBox2DBBool = "True"
End If
End Function

Dim konto, bank, kontant, giro

konto = checkBox2DBBool(Request.Form("konto"))
bank = checkBox2DBBool(Request.Form("bank"))
kontant = checkBox2DBBool(Request.Form("kontant"))
giro = checkBox2DBBool(Request.Form("giro"))

strSQL = "Insert into personer ("

strSQL = strSQL & "Firma, "
strSQL = strSQL & "Kontaktperson, "
strSQL = strSQL & "CVRNummer, "
strSQL = strSQL & "Town, "
strSQL = strSQL & "Password, "
strSQL = strSQL & "Postnummer, "
strSQL = strSQL & "Website, "
strSQL = strSQL & "Telefonnummer, "
strSQL = strSQL & "Email, "
strSQL = strSQL & "Adresse, "
strSQL = strSQL & "Konto, "
strSQL = strSQL & "Bank, "
strSQL = strSQL & "Kontant, "
strSQL = strSQL & "Giro) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("Firma") & "', "
strSQL = strSQL & "'" & Request.Form("Kontaktperson") & "', "
strSQL = strSQL & "'" & Request.Form("CVRNummer") & "', "
strSQL = strSQL & "'" & Request.Form("Town") & "', "
strSQL = strSQL & "'" & Request.Form("Password") & "', "
strSQL = strSQL & "'" & Request.Form("Postnummer") & "', "
strSQL = strSQL & "'" & Request.Form("Website") & "', "
strSQL = strSQL & "'" & Request.Form("Telefonnummer") & "', "
strSQL = strSQL & "'" & Request.Form("Email") & "', "
strSQL = strSQL & "'" & Request.Form("Adresse") & "', "
strSQL = strSQL & "" & konto & ", "
strSQL = strSQL & "" & bank & ", "
strSQL = strSQL & "" & kontant & ", "
strSQL = strSQL & "" & giro & ")"

Conn.Execute(strSQL)

Response.write strSQL
Response.end

Conn.Execute(strSQL)
%>

Er der en smartere måde at gøre det på mon??

(I øvrigt, *tak* for checkbox eksemplet!)


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (18-10-2003)
Kommentar
Fra : Jørn Andersen


Dato : 18-10-03 00:10

On Fri, 17 Oct 2003 22:48:12 +0000 (UTC), **[laessoe]**
<laessoe@yahoo.com> wrote:

>strSQL = strSQL & "" & konto & ", "

>Er der en smartere måde at gøre det på mon??

Det ser vist OK ud - men du behøver ikke at have den ekstra "" med:
strSQL = strSQL & konto & ", "

Good luck!

--
Jørn Andersen,
Brønshøj

**[laessoe]** (19-10-2003)
Kommentar
Fra : **[laessoe]**


Dato : 19-10-03 09:33

> Good luck!

Tak for alle de gode råd - det har hjulpet på min forståelse.

*Men* hvordan fikser jeg den, hvis jeg vil hente alle felterne for en
bruger ned i min form så jeg kan redigere dem og sende tilbage med en
UPDATE?


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (17-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-10-03 10:39

Jørn Andersen skrev:

>> If Request.Form("Konto") = "" Then

> Hvorfor tester du på det den (evt.!) *ikke* skal være, i
> stedet for at teste på det den skal være?

Lige her giver det faktisk meget god mening - specielt hvis man
anvender en generel funktion til at håndtere checkbokse. Den værdi
der sendes når der er hak i en checkboks kan være hvad som helst -
omvendt kan man være sikker på at hvis der ikke sendes noget, så er
boksen ikke markeret.


> Response.Write IsEmpty(Request.Form("Konto"))

Jeg har i et andet indlæg lavet en funktion der tjekker for en tom
værdi - men det er nok mere korrekt at bruge IsEmpty-funktionen
(som jeg ikke kendte før - tak for den).

En redigeret udgave følger her (hverken denne eller den oprindelige
er testet):

' Funktion der tager en request.form-værdi
' og returnerer en boolesk værdi der kan bruges
' i en sql-kommando
Function checkBox2DBBool(formVal)
   If IsEmpty(formVal) Then
       checkBox2DBBool = "False"
   Else
       checkBox2DBBool = "True"
   End If
End Function
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jørn Andersen (17-10-2003)
Kommentar
Fra : Jørn Andersen


Dato : 17-10-03 21:49

On Fri, 17 Oct 2003 11:38:58 +0200, Jens Gyldenkærne Clausen
<jens@gyros.invalid> wrote:

>Jørn Andersen skrev:
>
>>> If Request.Form("Konto") = "" Then
>
>> Hvorfor tester du på det den (evt.!) *ikke* skal være, i
>> stedet for at teste på det den skal være?
>
>Lige her giver det faktisk meget god mening - specielt hvis man
>anvender en generel funktion til at håndtere checkbokse. Den værdi
>der sendes når der er hak i en checkboks kan være hvad som helst -
>omvendt kan man være sikker på at hvis der ikke sendes noget, så er
>boksen ikke markeret.

Jo, det kan sagtens give god mening, hvis man tester på det rigtige.
Men med en ikke-checket checket checkbox, vil:

Response.Write (Request.Form("Konto") = "")

skrive: False.

Men: Tak for pointen med en generel funktion til checkboxe. Den kan
vist være meget nyttig. Og i så fald har du selvfølgelig ret i at det
er nemmere at checke på 'det den ikke skal være'.

--
Jørn Andersen,
Brønshøj

Jesper Stocholm (15-10-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 15-10-03 15:39

**[laessoe]** wrote :

> Jeg har problemer med at smide værdien af 4 checkboxe i min DB
> (test.mdb)
>
> Jeg har Checkbox 1, Checkbox 2, Checkbox 3, Checkbox 4 i min
> "form.htm" der poster til "indsaet.asp", som indsætter i tabel
> "user" i felteterne "CB1", "CB2", "CB3" & "CB4" i min DB
> "test.mdb" (felterne er sat til ja/nej).
>
> Jeg har forsøgt mange ting, men ender hele tiden op med
> "Serverfejl...", når jeg forsøger at submitte form.htm til
> indsaet.asp - kan nogen give mig et forslag til, hvordan jeg
> requester på indsaet.asp så at felternes værdi skal til DB'en??

Vil du have at vi skal gætte på hvordan din kode ser ud?

http://www.asp-faq.dk/article?id=41
http://www.asp-faq.dk/article?id=45

--
Jesper Stocholm
http://stocholm.dk

Tillykke, Frederik og Mary

Ryan Kristensen (15-10-2003)
Kommentar
Fra : Ryan Kristensen


Dato : 15-10-03 15:43

> Jeg har Checkbox 1, Checkbox 2, Checkbox 3, Checkbox 4 i min
> "form.htm" der poster til "indsaet.asp", som indsætter i tabel
> "user" i felteterne "CB1", "CB2", "CB3" & "CB4" i min DB
> "test.mdb" (felterne er sat til ja/nej).

Prøv at udskrive værdierne af dine input:
Response.Write(Request.Form("Checkbox 1") & Request.Form("Checkbox 2") ...)


> Jeg har forsøgt mange ting, men ender hele tiden op med
> "Serverfejl...", når jeg forsøger at submitte form.htm til
> indsaet.asp - kan nogen give mig et forslag til, hvordan jeg
> requester på indsaet.asp så at felternes værdi skal til DB'en??

Hvis du får en fejl 500, kan du komme lidt videre her:
<http://asp-faq.dk/article/?id=45>.


--
Ryan



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste