Avatar billede pelskee Nybegynder
11. august 2004 - 11:20 Der er 9 kommentarer og
1 løsning

Recordset driller

hvad er der galt i nedenstående, modtager denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''% Varenavn ASC' at line 1
/webshop/admin/produkter/produkt_oversigt.asp, line 59


KODE:
<%
Dim rsProdukter__varNavn
rsProdukter__varNavn = "%"
If (Request.Form("varenavn") <> "") Then
  rsProdukter__varNavn = Request.Form("varenavn")
End If
%>
<%
Dim rsProdukter__varAktiv
rsProdukter__varAktiv = "%"
If (Request.Form("aktiv")  <> "") Then
  rsProdukter__varAktiv = Request.Form("aktiv")
End If
%>
<%
Dim rsProdukter__varNyhed
rsProdukter__varNyhed = "%"
If (Request.Form("vissomnyhed")  <> "") Then
  rsProdukter__varNyhed = Request.Form("vissomnyhed")
End If
%>
<%
Dim rsProdukter__varForside
rsProdukter__varForside = "%"
If (Request.Form("vispaaforside")  <> "") Then
  rsProdukter__varForside = Request.Form("vispaaforside")
End If
%>
<%
Dim rsProdukter__orderBy
rsProdukter__orderBy = "%"
If (Request.Querystring("OrderBy") <> "") Then
  rsProdukter__orderBy = Request.Querystring("OrderBy")
Else
rsProdukter__orderBy = "Varenavn"
End If
%>
<%
Dim rsProdukter__sorter
rsProdukter__sorter = "%"
If (Request.Querystring("Sorter") <> "") Then 
  rsProdukter__sorter = Request.Querystring("Sorter")
Else
rsProdukter__sorter = "ASC"
End If
%>
<%
Dim rsProdukter
Dim rsProdukter_numRows

Set rsProdukter = Server.CreateObject("ADODB.Recordset")
rsProdukter.ActiveConnection = MM_webshop_STRING
rsProdukter.Source = "SELECT *  FROM produkt  WHERE Varenavn LIKE '%" + Replace(rsProdukter__varNavn, "'", "''") + "%' AND Aktiv LIKE '" + Replace(rsProdukter__varAktiv, "'", "''") + "' AND VisSomNyhed LIKE '" + Replace(rsProdukter__varNyhed, "'", "''") + "' AND VisPaaForside LIKE '" + Replace(rsProdukter__varForside, "'", "''") + " " + Replace(rsProdukter__orderBy, "'", "''") + " " + Replace(rsProdukter__sorter, "'", "''") + ""
rsProdukter.CursorType = 0
rsProdukter.CursorLocation = 2
rsProdukter.LockType = 1
rsProdukter.Open()

rsProdukter_numRows = 0
%>
Avatar billede arne_v Ekspert
11. august 2004 - 11:24 #1
Den sidste del af den SQL ser ikke rigtig ud !

Prøv lige at printe den SQL sætning ud.

Jeg tror at der mangler en afsluttende ' og en ORDER BY.
Avatar billede pelskee Nybegynder
11. august 2004 - 11:50 #2
hej arne
jeg er en nød... hvad er det lige præcis du mener med at jeg skal printe den ud ?
Avatar billede arne_v Ekspert
11. august 2004 - 12:16 #3
"SELECT *  FROM produkt  WHERE Varenavn LIKE '%" + Replace(rsProdukter__varNavn, "'", "''") + "%' AND Aktiv LIKE '" + Replace(rsProdukter__varAktiv, "'", "''") + "' AND VisSomNyhed LIKE '" + Replace(rsProdukter__varNyhed, "'", "''") + "' AND VisPaaForside LIKE '" + Replace(rsProdukter__varForside, "'", "''") + " " + Replace(rsProdukter__orderBy, "'", "''") + " " + Replace(rsProdukter__sorter, "'", "''") + ""
Avatar billede pelskee Nybegynder
11. august 2004 - 15:56 #4
hvor i koden skal jeg indsætte det ... :)
Avatar billede pelskee Nybegynder
11. august 2004 - 15:57 #5
hvis jeg fjernet den kode der hører til ORDER BY virker det:
men den vil ikke tage imod rsProdukter__orderBy og rsProdukter__sorter

<%
Dim rsProdukter__varNavn
rsProdukter__varNavn = "%"
If (Request.Form("varenavn") <> "") Then
  rsProdukter__varNavn = Request.Form("varenavn")
End If
%>
<%
Dim rsProdukter__varAktiv
rsProdukter__varAktiv = "%"
If (Request.Form("aktiv")  <> "") Then
  rsProdukter__varAktiv = Request.Form("aktiv")
End If
%>
<%
Dim rsProdukter__varNyhed
rsProdukter__varNyhed = "%"
If (Request.Form("vissomnyhed")  <> "") Then
  rsProdukter__varNyhed = Request.Form("vissomnyhed")
End If
%>
<%
Dim rsProdukter__varForside
rsProdukter__varForside = "%"
If (Request.Form("vispaaforside")  <> "") Then
  rsProdukter__varForside = Request.Form("vispaaforside")
End If
%>
<%
Dim rsProdukter
Dim rsProdukter_numRows

Set rsProdukter = Server.CreateObject("ADODB.Recordset")
rsProdukter.ActiveConnection = MM_webshop_STRING
rsProdukter.Source = "SELECT *  FROM produkt  WHERE Varenavn LIKE '%" + Replace(rsProdukter__varNavn, "'", "''") + "%' AND Aktiv LIKE '" + Replace(rsProdukter__varAktiv, "'", "''") + "' AND VisSomNyhed LIKE '" + Replace(rsProdukter__varNyhed, "'", "''") + "' AND VisPaaForside LIKE '" + Replace(rsProdukter__varForside, "'", "''") + "'"
rsProdukter.CursorType = 0
rsProdukter.CursorLocation = 2
rsProdukter.LockType = 1
rsProdukter.Open()

rsProdukter_numRows = 0
%>
Avatar billede arne_v Ekspert
11. august 2004 - 15:58 #6
Bare sæt:

<%="SELECT *  FROM produkt  WHERE Varenavn LIKE '%" + Replace(rsProdukter__varNavn, "'", "''") + "%' AND Aktiv LIKE '" + Replace(rsProdukter__varAktiv, "'", "''") + "' AND VisSomNyhed LIKE '" + Replace(rsProdukter__varNyhed, "'", "''") + "' AND VisPaaForside LIKE '" + Replace(rsProdukter__varForside, "'", "''") + " " + Replace(rsProdukter__orderBy, "'", "''") + " " + Replace(rsProdukter__sorter, "'", "''") + ""%>

ind lige før du sætter Source, så er jeg ret sikker på at du kan se at jeg har ret i at
SQL'en ikke er rigtig.
Avatar billede arne_v Ekspert
11. august 2004 - 16:00 #7
Jeg tror at du skal bruge:

rsProdukter.Source = "SELECT *  FROM produkt  WHERE Varenavn LIKE '%" + Replace(rsProdukter__varNavn, "'", "''") + "%' AND Aktiv LIKE '" + Replace(rsProdukter__varAktiv, "'", "''") + "' AND VisSomNyhed LIKE '" + Replace(rsProdukter__varNyhed, "'", "''") + "' AND VisPaaForside LIKE '" + Replace(rsProdukter__varForside, "'", "''") + "' ORDER BY " +
Replace(rsProdukter__orderBy, "'", "''") + " " + Replace(rsProdukter__sorter, "'", "''")

Men du kan kun være sikker ved at printe SQL'en ud og checke !
Avatar billede pelskee Nybegynder
11. august 2004 - 16:35 #8
u da man - det virker nu
hvor er det stener at jeg glemmer + "' ORDER BY " +
når det er det jeg prøver at lave - kunne bare slet ikke se det
TAK for hjælpen :)
Avatar billede arne_v Ekspert
11. august 2004 - 16:36 #9
så ligger jeg et svar
Avatar billede pelskee Nybegynder
11. august 2004 - 16:48 #10
:) tak
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
Computerworld tilbyder specialiserede kurser i database-management

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