/ 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
Hente "alle" via en Liste fra en formular
Fra : mik Thomsen


Dato : 21-04-05 22:45

Hej

Ja, jeg ved ikke lige om overskriften siger så meget, men jeg har
en problem. Jeg skal fra en database hente nogle oplyser via
nogle kristerier i en form, som brugeren udfylder. I formularen
er der en lister, hvor man kan vælge nogle mærker. Men jeg vil
gerne have en værdi i den liste, som i stedet for at hente et
bestemst mærke, henter alle mærkerne . Kan man det ?


Listen :

<select size="1" name="DMAERKE">
<option selected value="&quot;not null&quot;">Alle
mærker</option>
<option value="Callaway">Callaway</option>
<option value="Adams">Adams</option>
<option value="Cleveland">Cleveland</option>
<option value="Cobra">Cobra</option>
<option value="MacGregor">MacGregor</option>
<option value="Mizuno">Mizuno</option>
<option value="Nike">Nike</option>
<option value="Titleist">Titleist</option>
<option value="Wilson">Wilson</option>
<option value="Ping">Ping</option>
<option value="Dunlup">Dunlup</option>
</select>

Udvælgelsen :
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/FPDB/udstyr.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * from udstyr Where haand = '"&
Request.Form("haand") &"'and model = '"& Request.Form("model")
&"' and maerke = '"& Request.Form("DMAERKE") &"'"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do

' Udskriv værdien af kolonnen Udstyr efter kristere "model" og
"Haand"
Response.Write "" &"<h2>" &"<font color='#FF000000'>" &
rs("kategori") &"</font>" &"</h2>"

Response.Write "<b>Mærke: </b>" & rs("maerke") & "&nbsp;&nbsp;"
& "<b>Pris : </b>" & rs("pris") & " " & "kr." & "&nbsp;&nbsp; "
& "<b>Hånd: </b>" & " " & rs("haand") & "&nbsp;&nbsp; " &
"<b>Forhandler:</b>" & " " & rs("Forhandler") & "&nbsp;&nbsp; "
&"<b>Link: </b>" & rs("link") & "&nbsp;&nbsp; " & "<b>Model:
</b>" & rs("model") & "<hr>"


' Gå til næste Record i rs
rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

Fejl:

error '80020009'
/driverresultat.asp, line 178

Hvis jeg vælger "alle mærker" eller hvis et eller flere kriterier
ikke er fundet.

Hvad Kan jeg gøre for at ikke at få denne besked.

På forhånd tak




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

 
 
Tomasz Otap (21-04-2005)
Kommentar
Fra : Tomasz Otap


Dato : 21-04-05 23:56

mik Thomsen wrote:
> Fejl:
>
> error '80020009'
> /driverresultat.asp, line 178
>
> Hvis jeg vælger "alle mærker" eller hvis et eller flere kriterier
> ikke er fundet.
>
> Hvad Kan jeg gøre for at ikke at få denne besked.

Hej Mik

Jeg kan se, at du har valgt at checke for rs.eof allersidst i din Do -
Loop statement. Det betyder også, at din loop får lov til at køre en
gang, selv om rs.eof er true allerførste gang (dvs ingen værdier
returneret fra databasen). Det resulterer i fejl, da du forsøger at
tilgå resultset-værdier, der ikke findes.

Prøv evt. at ændre din løkke til

while not rs.eof

   ... din egen kode ...

wend

Det burde fjerne fejlen ved en eller flere kriterier ikke fundet.

Din værdi for "Alle mærker" er sat til "not null" - men det vil blot få
din sql til at søge efter mærke med teksten "not null", og ikke maerke =
NOT NULL, som du ønsker. Det resulterer i, at en eller flere kriterier
er ikke fundet, og fremviser samme fejl som tidligere. Lav evt. en check
inden sql-sætningen sættes sammen:

-----------
if request.form("DMAERKE") = "not null" then
   strMaerke = "NOT NULL"
else
   strMaerke = "'" & request.form("DMAERKE") & "'"
end if
-----------

og skift så den sidste linie i sql'en til:

-----------
"and maerke = " & strMaerke
-----------

Hvorfor sætter du egentlig &quot; ind i value for Alle mærker?

t

mik Thomsen (24-04-2005)
Kommentar
Fra : mik Thomsen


Dato : 24-04-05 16:16

Tomasz Otap wrote in dk.edb.internet.webdesign.serverside.asp:
> mik Thomsen wrote:
> > Fejl:
> >
> > error '80020009'
> > /driverresultat.asp, line 178
> >
> > Hvis jeg vælger "alle mærker" eller hvis et eller flere kriterier
> > ikke er fundet.
> >
> > Hvad Kan jeg gøre for at ikke at få denne besked.
>
> Hej Mik
>
> Jeg kan se, at du har valgt at checke for rs.eof allersidst i din Do -
> Loop statement. Det betyder også, at din loop får lov til at køre en
> gang, selv om rs.eof er true allerførste gang (dvs ingen værdier
> returneret fra databasen). Det resulterer i fejl, da du forsøger at
> tilgå resultset-værdier, der ikke findes.
>
> Prøv evt. at ændre din løkke til
>
> while not rs.eof
>
>    ... din egen kode ...
>
> wend
>
> Det burde fjerne fejlen ved en eller flere kriterier ikke fundet.
>
> Din værdi for "Alle mærker" er sat til "not null" - men det vil blot få
> din sql til at søge efter mærke med teksten "not null", og ikke maerke =
> NOT NULL, som du ønsker. Det resulterer i, at en eller flere kriterier
> er ikke fundet, og fremviser samme fejl som tidligere. Lav evt. en check
> inden sql-sætningen sættes sammen:
>
> -----------
> if request.form("DMAERKE") = "not null" then
>    strMaerke = "NOT NULL"
> else
>    strMaerke = "'" & request.form("DMAERKE") & "'"
> end if
> -----------
>
> og skift så den sidste linie i sql'en til:
>
> -----------
> "and maerke = " & strMaerke
> -----------
>
> Hvorfor sætter du egentlig " ind i value for Alle mærker?
>
> t


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

mik Thomsen (24-04-2005)
Kommentar
Fra : mik Thomsen


Dato : 24-04-05 16:28

Hej

ja den første var der vist noget kluder med.

Men
>Tomasz Otap wrote in dk.edb.internet.webdesign.serverside.asp:
>
> Jeg kan se, at du har valgt at checke for rs.eof allersidst i din Do -
> Loop statement. Det betyder også, at din loop får lov til at køre en
> gang, selv om rs.eof er true allerførste gang (dvs ingen værdier
> returneret fra databasen). Det resulterer i fejl, da du forsøger at
> tilgå resultset-værdier, der ikke findes.
>
> Prøv evt. at ændre din løkke til
>
> while not rs.eof
>
>    ... din egen kode ...
>
> wend
>
> Det burde fjerne fejlen ved en eller flere kriterier ikke fundet.
>


Jeg har prøvet at indbygge den i mit script, men kan ikke få den til virke

mit script
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN &
"DBQ=C:\Data\Web\golfudstyret.dk\users\mwt\database\udstyr.mdb"
Conn.Open DSN

if request.form("DMAERKE") = "alle" then
strMaerke = "NOT NULL"
else
strMaerke = "'" & request.form("DMAERKE") & "'"
end if


' SQL forespørgsel
strSQL = "Select * from udstyr Where haand = '"& Request.Form("haand")
&"'and model = '"& Request.Form("model") &"' and maerke =" & strMaerke


' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
Do

' Udskriv værdien af kolonnen Udstyr efter kristere "model" og "Haand"
Response.Write "" &"<h2>" &"<font color='#FF000000'>" & rs("kategori")
&"</font>" &"</h2>"

Response.Write "<b>Mærke: </b>" & rs("maerke") & "&nbsp;&nbsp;" &
"<b>Pris : </b>" & rs("pris") & " " & "kr." & "&nbsp;&nbsp; " & "<b>Hånd:
</b>" & " " & rs("haand") & "&nbsp;&nbsp; " & "<b>Forhandler:</b>" & " " &
rs("Forhandler") & "&nbsp;&nbsp; " &"<b>Link: </b>" & rs("link") &
"&nbsp;&nbsp; " & "<b>Model: </b>" & rs("model") & "<hr>"


' Gå til næste Record i rs
rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
loop
While Not rs.EOF
wend

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing


%>


Har jeg indsat det rigtigt, og hvad mener du med ... din egen koder....


Jeg har også indsat denne her i mit script
> -----------
> if request.form("DMAERKE") = "not null" then
>    strMaerke = "NOT NULL"
> else
>    strMaerke = "'" & request.form("DMAERKE") & "'"
> end if
> -----------
>
> og skift så den sidste linie i sql'en til:
>
> -----------
> "and maerke = " & strMaerke
> -----------

og jeg havde forståelsen at den skulle gøre det således, at jeg fik vist
alle poster i databasen, med alle mærker, hvor de andre kriterier er
opfyldt. men det virker ikke .

Hvad skal jeg gøre eller, hvad har jeg gjort forkert ??

på forhånd tak

Mik




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

Tomasz Otap (24-04-2005)
Kommentar
Fra : Tomasz Otap


Dato : 24-04-05 21:18

mik Thomsen wrote:
> Har jeg indsat det rigtigt, og hvad mener du med ... din egen koder....

Næsten; du har lagt while-wend løkken ind efter din egen. Det var ikke
det, jeg mente - while-wend skal erstatte din do-loop løkke.

Desuden tror jeg faktisk ikke, at du kan skrive "maerke = NOT NULL". Den
korrekte syntaks er "maerke IS NOT NULL". Derfor skal din kode snarere
se ud som følger:

------------------

if request.form("DMAERKE") = "alle" then
strMaerke = "IS NOT NULL"
else
strMaerke = "= '" & request.form("DMAERKE") & "'"
end if

' SQL forespørgsel
strSQL = "Select * from udstyr Where haand = '"& Request.Form("haand")
&"'and model = '"& Request.Form("model") &"' and maerke " & strMaerke


' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
While not rs.eof

' Udskriv værdien af kolonnen Udstyr efter kristere "model" og "Haand"
Response.Write "" &"<h2>" &"<font color='#FF000000'>" & rs("kategori")
&"</font>" &"</h2>"

Response.Write "<b>Mærke: </b>" & rs("maerke") & "&nbsp;&nbsp;" &
"<b>Pris : </b>" & rs("pris") & " " & "kr." & "&nbsp;&nbsp; " & "<b>Hånd:
</b>" & " " & rs("haand") & "&nbsp;&nbsp; " & "<b>Forhandler:</b>" & " " &
rs("Forhandler") & "&nbsp;&nbsp; " &"<b>Link: </b>" & rs("link") &
"&nbsp;&nbsp; " & "<b>Model: </b>" & rs("model") & "<hr>"


' Gå til næste Record i rs
rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
wend

---------------------

t

mik Thomsen (29-04-2005)
Kommentar
Fra : mik Thomsen


Dato : 29-04-05 17:23

>Tomasz Otap wrote in dk.edb.internet.webdesign.serverside.asp:

> Desuden tror jeg faktisk ikke, at du kan skrive "maerke = NOT NULL". Den
> korrekte syntaks er "maerke IS NOT NULL". Derfor skal din kode snarere
> se ud som følger:
>
> ------------------
>
> if request.form("DMAERKE") = "alle" then
> strMaerke = "IS NOT NULL"
> else
> strMaerke = "= '" & request.form("DMAERKE") & "'"
> end if

Jeg har prøvet at indsætte dine koder med jeg kan ikke få den til at hente
alle de forskellige mærker. Jeg har fjernet det ene "= i anden sidste
linie.


Jeg kan heller ikke i nu forstå din løkke med WEND. Skal man ikke lukke
forbindelsen bagefter eller skal den bare slutte sådan som du har skrevet.
Hvis jeg har dette indsat, siger den at siden ikke vil vises.

> ' Gå til næste Record i rs
> rs.MoveNext
>
> ' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
> wend
>
> ---------------------
>


Jeg får følgende fejl, når jeg vælger "alle" fra listen:

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
query expression 'haand = 'H'and model = 'dame' and maerke =IS NOT NULL'.

/driverresultat1.asp, line 181


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

Jørn Andersen (29-04-2005)
Kommentar
Fra : Jørn Andersen


Dato : 29-04-05 23:53

On 29 Apr 2005 16:23:29 GMT, mik Thomsen <mwt@image.dk> wrote:

>>Tomasz Otap wrote in dk.edb.internet.webdesign.serverside.asp:
>
>> Desuden tror jeg faktisk ikke, at du kan skrive "maerke = NOT NULL". Den
>> korrekte syntaks er "maerke IS NOT NULL". Derfor skal din kode snarere
>> se ud som følger:

<snip>


>Jeg får følgende fejl, når jeg vælger "alle" fra listen:
>
>Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
>
>[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
>query expression 'haand = 'H'and model = 'dame' and maerke =IS NOT NULL'.

Du mangler et mellemrum mellem 'H' og and.
Desuden skal der (som nævnt oven for ikke være =-tegn, når du checker
for NULL - altså:
'haand = 'H' and model = 'dame' and maerke IS NOT NULL'

NB: Ved alle SQL-problemer, start altid med at udskrive SQL-strengen,
inden den udføres - se fx:

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

Good luck,
Jørn

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

Tomasz Otap (30-04-2005)
Kommentar
Fra : Tomasz Otap


Dato : 30-04-05 11:52

mik Thomsen wrote:
> Jeg kan heller ikke i nu forstå din løkke med WEND. Skal man ikke lukke
> forbindelsen bagefter eller skal den bare slutte sådan som du har skrevet.
> Hvis jeg har dette indsat, siger den at siden ikke vil vises.

Du skal naturligvis lukke og slukke for databaseforbindelsen bagefter;
dette var blot eksemplet på, hvordan WHILE-WEND løkken skal se ud. Koden
slutter derefter med noget a'la:

--------
' Luk recordset
rs.close
set rs = nothing
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
---------

> Jeg får følgende fejl, når jeg vælger "alle" fra listen:
> [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
> query expression 'haand = 'H'and model = 'dame' and maerke =IS NOT NULL'.

Se Jørns svar tidligere - som han også skriver, er det altid en god idé
at udskrive din SQL-sætning inden du kører den. Så kan du hurtigt checke
den for evt. mellemrumsfejl og forkerte operatorer.

t

mik Thomsen (02-05-2005)
Kommentar
Fra : mik Thomsen


Dato : 02-05-05 20:28

Tomasz Otap wrote in dk.edb.internet.webdesign.serverside.asp:
> mik Thomsen wrote:
> > Jeg kan heller ikke i nu forstå din løkke med WEND. Skal man ikke lukke
> > forbindelsen bagefter eller skal den bare slutte sådan som du har skrevet.
> > Hvis jeg har dette indsat, siger den at siden ikke vil vises.
>
> Du skal naturligvis lukke og slukke for databaseforbindelsen bagefter;
> dette var blot eksemplet på, hvordan WHILE-WEND løkken skal se ud. Koden
> slutter derefter med noget a'la:
>
> --------
> ' Luk recordset
> rs.close
> set rs = nothing
> ' Luk databaseforbindelse
> Conn.Close
> Set Conn = Nothing
> ---------

Er min Løkke rigtig nok, og ovenstående bare indsættes efter løkken ??


> > Jeg får følgende fejl, når jeg vælger "alle" fra listen:
> > [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
> > query expression 'haand = 'H'and model = 'dame' and maerke =IS NOT NULL'.
>
> Se Jørns svar tidligere - som han også skriver, er det altid en god idé
> at udskrive din SQL-sætning inden du kører den. Så kan du hurtigt checke
> den for evt. mellemrumsfejl og forkerte operatorer.


Min SQL og koder ser sådan nu

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=C:\Data\Web\golfudstyret.dk\users\mwt\database\udstyr.mdb"
Conn.Open DSN

if request.form("DMAERKE") = "alle" then
strMaerke = "IS NOT NULL"
else
strMaerke = "'" & request.form("DMAERKE") & "'"
end if


' SQL forespørgsel
strSQL = "Select * from udstyr Where haand = '"& Request.Form("haand") &"'and
model = '"& Request.Form("model") &"' and maerke =" & strMaerke


' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL) <-------------- linie 181

' Gennemløb Recordset (rs) med en løkke
Do

' Udskriv værdien af kolonnen Udstyr efter kristere "model" og "Haand"
Response.Write "" &"<h2>" &"<font color='#FF000000'>" & rs("kategori")
&"</font>" &"</h2>"

Response.Write "<b>Mærke: </b>" & rs("maerke") & "&nbsp;&nbsp;" & "<b>Pris :
</b>" & rs("pris") & " " & "kr." & "&nbsp;&nbsp; " & "<b>Hånd: </b>" & " " &
rs("haand") & "&nbsp;&nbsp; " & "<b>Forhandler:</b>" & " " & rs("Forhandler") &
"&nbsp;&nbsp; " &"<b>Link: </b>" & rs("link") & "&nbsp;&nbsp; " & "<b>Model:
</b>" & rs("model") & "<hr>"


' Gå til næste Record i rs
rs.MoveNext


' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
Loop While Not rs.EOF


' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing


%>


fejl Kode :

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in
query expression 'haand = 'H'and model = 'herre' and maerke =IS NOT NULL'.

/driverresultat1.asp, line 181

Hvad er der galt ??

Jeg er et felt, som jeg også skal have med i kriterieterne. Et felt hvor man kan
indtaste en max pris. og hvor man så skal have resultater på alle dem, hvor
prisen er lig med eller mindre end det indtastet. Det kan godt være at felt ikke
bliver udfyldt af brugeren.

Kan I hjælpe mig med det.

For hånd 1000 tak

MIK
skriv eventuelt direkte pr.mail mwt@image.dk





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

mik Thomsen (02-05-2005)
Kommentar
Fra : mik Thomsen


Dato : 02-05-05 21:13

Hej igen


Nu er den helt gal

Jeg har siddet og læst alle jeres svar igennem og rettet min sql sætning m.v.
til, som i gerne vil have.

men nu kan resultatet slet ikke vises . "der opstod en intern fejl " .

men sætning ser sådan.

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=C:\Data\Web\golfudstyret.dk\users\mwt\database\udstyr.mdb"
Conn.Open DSN

if request.form("DMAERKE") = "alle" then
strMaerke = "IS NOT NULL"
else
strMaerke = "= '" & request.form("DMAERKE") & "'"
end if


' SQL forespørgsel
strSQL = "Select * from udstyr Where haand = '"& Request.Form("haand")
&"'and model = '"& Request.Form("model") &"' and maerke " & strMaerke


' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb Recordset (rs) med en løkke
While not rs.eof

' Udskriv værdien af kolonnen Udstyr efter kristere "model" og "Haand"
Response.Write "" &"<h2>" &"<font color='#FF000000'>" & rs("kategori")
&"</font>" &"</h2>"

Response.Write "<b>Mærke: </b>" & rs("maerke") & "&nbsp;&nbsp;" & "<b>Pris :
</b>" & rs("pris") & " " & "kr." & "&nbsp;&nbsp; " & "<b>Hånd: </b>" & " " &
rs("haand") & "&nbsp;&nbsp; " & "<b>Forhandler:</b>" & " " & rs("Forhandler") &
"&nbsp;&nbsp; " &"<b>Link: </b>" & rs("link") & "&nbsp;&nbsp; " & "<b>Model:
</b>" & rs("model") & "<hr>"


' Gå til næste Record i rs
rs.MoveNext

' Fortsæt indtil rs er gennemløbet (EOF = End Of File)
wend

' Luk recordset
rs.close
set rs = nothing

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing



%>


Har jeg overset noget. ?

Jeg spurgte i det foregående indlæg, at jeg have endnu et kriterier, hvor jeg har
et felt, hvor brugeren kan indtaste et en max pris på varen. og der skal nu vises
alle poster som hvor som er lige med eller under max prisen, som passer til
resten af de kriterier, som jeg efterhånden har fået med .

På forhånd Tak

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

Jørn Andersen (03-05-2005)
Kommentar
Fra : Jørn Andersen


Dato : 03-05-05 04:13

On 02 May 2005 20:12:51 GMT, mik Thomsen <mwt@image.dk> wrote:

>Nu er den helt gal
>
>Jeg har siddet og læst alle jeres svar igennem og rettet min sql sætning m.v.
>til, som i gerne vil have.
>
>men nu kan resultatet slet ikke vises . "der opstod en intern fejl " .
>
>men sætning ser sådan.

Hej mik,
Når vi skriver, at du skal "udskrive SQL-strengen, inden den udføres",
så er det ikke din kode, vi opfordrer dig til at poste, men
*resultatet* af din kode.

Når din kode fx siger:
>strSQL = "Select * from udstyr Where haand = '"& Request.Form("haand")
>&"'and model = '"& Request.Form("model") &"' and maerke " & strMaerke
- hvad er så resulatet?
Ja, det afhænger jo bl.a. af indholdet i
Request.Form("haand")
Request.Form("model")
strMaerke

Hvis de nu ikke indeholder det, du forventer, så er SQL'en måske slet
ikke gyldig, og du får en fejl.

Så ideen med at "udskrive SQL-strengen, inden den udføres" er at
undersøge - fx:
- er der en "stavefejl" undervejs?
- leverer de variable det rigtige output?
- er der en syntax-fejl i SQL'en?

Ved at udskrive *resultatet* af koden, er det ofte ret åbenlyst, i
hvilken retning du skal søge videre efter fejlen.


Ideen med at "udskrive sine variable" er i øvrigt en almindelig
programmør-teknik til debugging, som er *meget* nyttig at forstå.
(Jeg er godt nok ikke programmør, men alligevel

Prøv at læse:
<url: http://asp-faq.dk/article/?id=41>
en gang til.

Good luck,
Jørn

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

mik Thomsen (03-05-2005)
Kommentar
Fra : mik Thomsen


Dato : 03-05-05 08:07

Jørn Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
"der opstod en intern fejl " .

> Hej mik,
> Når vi skriver, at du skal "udskrive SQL-strengen, inden den udføres",
> så er det ikke din kode, vi opfordrer dig til at poste, men
> *resultatet* af din kode.

> Når din kode fx siger:
> >strSQL = "Select * from udstyr Where haand = '"& Request.Form("haand")
> >&"'and model = '"& Request.Form("model") &"' and maerke " & strMaerke
> - hvad er så resulatet?
> Ja, det afhænger jo bl.a. af indholdet i
> Request.Form("haand")
> Request.Form("model")
> strMaerke
>


Hvad skal man gøre for at "udskrive sin SQL-sætning " skal jeg bare skrive
hvilken PAREMENTER SOM KOMMER FRA DE FORSKILLIGE felter i min forespørgelse.

"haand" = H
"model" = herre
strMaerke is not null (den skal hente alle mærker og ikke kun et bestemt mærke,
så kode i tidligere indlæg 02-05-05)


Når de indsættes, eller en anden kommer :

Den kommer som med en fejl

Siden kan ikke vises

HTTP 500 - Intern serverfejl
Internet Explorer

Er det nogen som kan hjælpe jer. til at tjekke om mine kode er rigtig

Det er først kommet efter jeg i går var inde og rette mine koder, efter de mange
forslag som er kommet fra jer hjælpsomme mennesker.
Og jeg kan selvfølgelig ikke lige finde fejlen.

Mine koder har jeg sendt i det tidligere indlæg fra i går. den 02-05-05

Det er godt nok noget som giver mig grå hår i hovedet.

Kærlig hilsen

Ham det ikke helt nemme

At jeg måske ikke helt forstår det I skriver,

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

Tomasz Otap (03-05-2005)
Kommentar
Fra : Tomasz Otap


Dato : 03-05-05 08:20

mik Thomsen wrote:
> Hvad skal man gøre for at "udskrive sin SQL-sætning " skal jeg bare skrive
> hvilken PAREMENTER SOM KOMMER FRA DE FORSKILLIGE felter i min forespørgelse.

Hej Mik

Nej - vi mener, at du skal skrive hele den variabel, som du kalder
strSQL, ud på skærmen - INDEN du udfører forespørgslen. Således:

-----------------------

' SQL forespørgsel
strSQL = "Select * from udstyr Where haand = '"& Request.Form("haand")
&"'and model = '"& Request.Form("model") &"' and maerke " & strMaerke

' Udskriv forespørgsel for at se evt fejl:
response.write "SQL sætning: <hr>" & strSQL & "<hr>"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

-----------------------

Derefter kan du kigge på SQL-sætningen for at se, om der er nogen fejl i
den.


t

Jens Gyldenkærne Cla~ (03-05-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 03-05-05 09:16

mik Thomsen skrev:

> Hvad skal man gøre for at "udskrive sin SQL-sætning "

Det står udførligt beskrevet på den side der indtil nu har været henvist
til tre gange (her kommer den en fjerde gang:
<http://asp-faq.dk/article/?id=41>).

Prøv at læse hele artiklen, og spørg *bagefter* hvis der er noget du
ikke forstår.

NB: Hvis du får en intern serverfejl (fejl 500), skal du kigge her:
<http://asp-faq.dk/article/?id=45>

--
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

Jens Gyldenkærne Cla~ (02-05-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-05-05 22:04

mik Thomsen skrev:

> Jeg har siddet og læst alle jeres svar igennem og rettet min
> sql sætning m.v. til, som i gerne vil have.
>
> men nu kan resultatet slet ikke vises . "der opstod en intern
> fejl " .

Standardsvaret ved fejl i sql-sætninger: Udskriv den færdige
sætning på skærmen. Hver gang.

Se hvordan på siden her: <http://asp-faq.dk/article/?id=41> (ca.
midt i artiklen).
--
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

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste