/ 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
problemer med SQL-variabel udtræk!!
Fra : Møller


Dato : 22-05-01 13:31

Jeg kan simpelthen ikke få dette til at virke. Jeg får bare den
dejlige meddelelse at siden ikke kan vises.

Her kommer hele koden, da det kager fuldstændig for mig.

Hjælp mig, jeg er nybegynder.
Møller

<body>
<%
' 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 ("\moller06\db\db1.mdb")
Conn.Open DSN

dim str_field,strSQL
str_field = request.querystring("textfield")

' SQL forespørgsel
strSQL = "SELECT * FROM Tabel1 WHERE "
strSQL = strSQL & "Kunstner LIKE '%" & str_field "%' AND "
strSQL = strSQL & "Titel LIKE '%" & str_field "%' "
strSQL = strSQL & "ORDER BY Kunster"

' 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 Fornavn
Response.Write rs("Kunstner") & "<br>"

' 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
%>
</body>



--
Dette indlæg er sendt fra http://www.html.dk
* Søg og læs i de danske nyhedsgrupper om webdesign
* Tutorials og artikler om webdesign på dansk

 
 
Jakob Andersen (22-05-2001)
Kommentar
Fra : Jakob Andersen


Dato : 22-05-01 13:37

"Møller" <moller1@mail1.stofanet.dk> wrote in message
news:9edm6c$gbj$1@sunsite.dk...
> Jeg kan simpelthen ikke få dette til at virke. Jeg får bare den
> dejlige meddelelse at siden ikke kan vises.

Denne her sprang lige i øjnene(Der mangler et par &):

> ' SQL forespørgsel
> strSQL = "SELECT * FROM Tabel1 WHERE "
> strSQL = strSQL & "Kunstner LIKE '%" & str_field "%' AND "
> strSQL = strSQL & "Titel LIKE '%" & str_field "%' "
> strSQL = strSQL & "ORDER BY Kunster"

strSQL = "SELECT * FROM Tabel1 WHERE "
strSQL = strSQL & "Kunstner LIKE '%" & str_field & "%' AND "
strSQL = strSQL & "Titel LIKE '%" & str_field & "%' "
strSQL = strSQL & "ORDER BY Kunster"

Desuden er det ikke særlig smart at bruge SELECT *, du skal nok istedet
bruge SELECT kunstner.

Mht. intetsigende fejlmeddelelse tjek om Friendly HTTP errors er slået fra i
IE under tools-> internet options -> advanced.

--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "




Bo Overgaard (22-05-2001)
Kommentar
Fra : Bo Overgaard


Dato : 22-05-01 14:50


"Møller" <moller1@mail1.stofanet.dk> skrev i en meddelelse
news:9edm6c$gbj$1@sunsite.dk...
> Jeg kan simpelthen ikke få dette til at virke. Jeg får bare den
> dejlige meddelelse at siden ikke kan vises.
>
> Her kommer hele koden, da det kager fuldstændig for mig.
>
> Hjælp mig, jeg er nybegynder.
> Møller
snip...
>
> ' SQL forespørgsel
> strSQL = "SELECT * FROM Tabel1 WHERE "
> strSQL = strSQL & "Kunstner LIKE '%" & str_field "%' AND "
> strSQL = strSQL & "Titel LIKE '%" & str_field "%' "
> strSQL = strSQL & "ORDER BY Kunster"
>
> ' Udfør forespørgsel (rs indeholder nu resultatet)
> Set rs = Conn.Execute(strSQL)

prøv med
' SQL forespørgsel
strSQL = "SELECT * FROM Tabel1 WHERE "
strSQL = strSQL & "Kunstner LIKE '%" & str_field & "%' AND "
strSQL = strSQL & "Titel LIKE '%" & str_field & "%' "
strSQL = strSQL & "ORDER BY Kunster"

altså to små & tegn.

Et lille fif som jeg selv bruger en del er at indsætte

Response.Write strSQL

lige efter den sidste linie i strSQL opbygningen, på den måde kan du se
hvordan din samlede SQL komando ser ud - og det er let at opdage fejl.

med venlig hilsen

Bo Overgaard




Møller (22-05-2001)
Kommentar
Fra : Møller


Dato : 22-05-01 19:49

- Ja, nu virkede det sku... og dog...
- Nu modtager jeg følgende:

SELECT * FROM Tabel1 WHERE Kunstner LIKE '%s%' AND Titel LIKE
'%s%' ORDER BY Kunster
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters.
Expected 1.

- ved følgende kode (jeg ved godt at det er meget, men jeg er
virkelig på den!!)

<body>
<%
' 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 ("\moller06\db\db1.mdb")
Conn.Open DSN

dim str_field,strSQL
str_field = Trim(request.querystring("textfield"))

' SQL forespørgsel
strSQL = "SELECT * FROM Tabel1 WHERE "
strSQL = strSQL & "Kunstner LIKE '%" & str_field & "%' AND "
strSQL = strSQL & "Titel LIKE '%" & str_field & "%' "
strSQL = strSQL & "ORDER BY Kunster"
Response.Write strSQL

' 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 Fornavn
Response.Write rs("Kunstner") & "<br>"

' 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
%>
</body>

--
Dette indlæg er sendt fra http://www.html.dk
* Søg og læs i de danske nyhedsgrupper om webdesign
* Tutorials og artikler om webdesign på dansk

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

Månedens bedste
Årets bedste
Sidste års bedste