Avatar billede gamemaster Nybegynder
02. december 2003 - 21:33 Der er 25 kommentarer og
1 løsning

Microsoft JET Database Engine error '80040e14'

Hej

jeg håber at der er nogen der kan hjælpe mig jeg får denne fejl Microsoft JET Database Engine error '80040e14'

Syntax error in string in query expression 'kategori = 1''.

/dataentry/shop/Default.asp, line 58

strengen til den er denne.....

<%
Dim varer__MMColParam
varer__MMColParam = "1"
If (Request.QueryString("kategori") <> "") Then
  varer__MMColParam = Request.QueryString("kategori")
End If
%>
<%
Dim varer
Dim varer_numRows

Set varer = Server.CreateObject("ADODB.Recordset")
varer.ActiveConnection = MM_db_STRING
varer.Source = "SELECT * FROM varer WHERE kategori = " + Replace(varer__MMColParam, "'", "''") + "'"
'varer.Source = "SELECT * FROM varer"' WHERE kategori = " + Replace(varer__MMColParam, "'", "''") + ""
varer.CursorType = 0
varer.CursorLocation = 2
varer.LockType = 1
varer.Open()

varer_numRows = 0
%>


den skal gå ind i DB og ind i tabellen varer  kollonen kategori  og lave et ud træk alt efter  hvilken kategori man ønsker

hilsen
Gamemaster
Avatar billede eagleeye Praktikant
02. december 2003 - 21:37 #1
hvis kategori er defineret som en tekst kolonne skal der ' omkring
Du har kun fået den ene med prøv at rette:

varer.Source = "SELECT * FROM varer WHERE kategori = " + Replace(varer__MMColParam, "'", "''") + "'"

Til denne:
varer.Source = "SELECT * FROM varer WHERE kategori = '" + Replace(varer__MMColParam, "'", "''") + "'"
Avatar billede eagleeye Praktikant
02. december 2003 - 21:40 #2
hvis kategori er defineret som en tal kolonne skal der ikke ' omkring så skal den linje være:
varer.Source = "SELECT * FROM varer WHERE kategori = " + Replace(varer__MMColParam, "'", "")
Avatar billede gamemaster Nybegynder
02. december 2003 - 21:47 #3
det virker nogenlunde den melder ikke nogen fejl men den skriver heller ikke nogen data
Avatar billede eagleeye Praktikant
02. december 2003 - 21:49 #4
øh hvorfor afviser du så mit svar?
du har jo ikke vist noget kode som udskriver så det må du tilføje.
Avatar billede gamemaster Nybegynder
02. december 2003 - 21:53 #5
her er det hele
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="inc_CharonCart.asp" -->
<!--#include file="Connections/db.asp" -->
<%
Dim aktivbruger__MMColParam
aktivbruger__MMColParam = "1"
If (Session("MM_Username") <> "") Then
  aktivbruger__MMColParam = Session("MM_Username")
End If
%>
<%
Dim aktivbruger
Dim aktivbruger_numRows


Set aktivbruger = Server.CreateObject("ADODB.Recordset")
aktivbruger.ActiveConnection = MM_db_STRING
aktivbruger.Source = "SELECT * FROM brugere WHERE brugernavn = '" + Replace(aktivbruger__MMColParam, "'", "''") + "'"
aktivbruger.CursorType = 0
aktivbruger.CursorLocation = 2
aktivbruger.LockType = 1
aktivbruger.Open()

aktivbruger_numRows = 0
%>
<%
Dim kategorier
Dim kategorier_numRows

Set kategorier = Server.CreateObject("ADODB.Recordset")
kategorier.ActiveConnection = MM_db_STRING
kategorier.Source = "SELECT * FROM kategorier"
kategorier.CursorType = 0
kategorier.CursorLocation = 2
kategorier.LockType = 1
kategorier.Open()

kategorier_numRows = 0
%>
<%
Dim varer__MMColParam
varer__MMColParam = "1"
If (Request.QueryString("kategorier") <> "") Then
  varer__MMColParam = Request.QueryString("kategorier")
End If
%>
<%
Dim varer
Dim varer_numRows

Set varer = Server.CreateObject("ADODB.Recordset")
varer.ActiveConnection = MM_db_STRING
varer.Source = "SELECT * FROM varer WHERE kategori ='" + Replace(varer__MMColParam, "'", "''") + "'"
'varer.Source = "SELECT * FROM varer"' WHERE kategori = " + Replace(varer__MMColParam, "'", "''") + ""
varer.CursorType = 0
varer.CursorLocation = 2
varer.LockType = 1
varer.Open()

varer_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
kategorier_numRows = kategorier_numRows + Repeat1__numRows
%>
<%
Dim Repeat2__numRows
Dim Repeat2__index

Repeat2__numRows = -1
Repeat2__index = 0
varer_numRows = varer_numRows + Repeat2__numRows
%>
<%
Dim MM_paramName
%>

<%
' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

Dim MM_keepNone
Dim MM_keepURL
Dim MM_keepForm
Dim MM_keepBoth

Dim MM_removeList
Dim MM_item
Dim MM_nextItem

' create the list of parameters which should not be maintained
MM_removeList = "&index="
If (MM_paramName <> "") Then
  MM_removeList = MM_removeList & "&" & MM_paramName & "="
End If

MM_keepURL=""
MM_keepForm=""
MM_keepBoth=""
MM_keepNone=""

' add the URL parameters to the MM_keepURL string
For Each MM_item In Request.QueryString
  MM_nextItem = "&" & MM_item & "="
  If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
    MM_keepURL = MM_keepURL & MM_nextItem & Server.URLencode(Request.QueryString(MM_item))
  End If
Next

' add the Form variables to the MM_keepForm string
For Each MM_item In Request.Form
  MM_nextItem = "&" & MM_item & "="
  If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
    MM_keepForm = MM_keepForm & MM_nextItem & Server.URLencode(Request.Form(MM_item))
  End If
Next

' create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL & MM_keepForm
If (MM_keepBoth <> "") Then
  MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1)
End If
If (MM_keepURL <> "")  Then
  MM_keepURL  = Right(MM_keepURL, Len(MM_keepURL) - 1)
End If
If (MM_keepForm <> "") Then
  MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1)
End If

' a utility function used for adding additional parameters to these strings
Function MM_joinChar(firstItem)
  If (firstItem <> "") Then
    MM_joinChar = "&"
  Else
    MM_joinChar = ""
  End If
End Function
%>
Avatar billede eagleeye Praktikant
02. december 2003 - 21:53 #6
efter dette:

varer.Open()

varer_numRows = 0
%>


Sådan noget med et loop:

varer.Open()

varer_numRows = 0
do while not varer.EOF
  response.write varer("varenavn") & "<br>"
  varer.Movenext
loop
%>
Avatar billede gamemaster Nybegynder
02. december 2003 - 21:54 #7
Avatar billede gamemaster Nybegynder
02. december 2003 - 21:56 #8
nope det hjalp ikke
Avatar billede eagleeye Praktikant
02. december 2003 - 21:57 #9
har du vare i databasen men kategori = 1 ?
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:00 #10
ja  der er ca. 50 varer med 10 kategorier
Avatar billede eagleeye Praktikant
02. december 2003 - 22:01 #11
du skal nok hvade fat i koden i defult.asp den fil er vist en include fil?
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:04 #12
ja det er kurven og så er det MM_db_STRING der bliver defineret der i de to include filer
Avatar billede eagleeye Praktikant
02. december 2003 - 22:05 #13
Disse links hvor kategorien vælges se sådan her ud:
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><A HREF="default.asp?kategori=1">Webdesign</A></font></li>
             
Åltså er det default.asp som skal havde koden til at vise de vare som er for den valgte kategori.
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:07 #14
her er hele koden fra default.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="inc_CharonCart.asp" -->
<!--#include file="Connections/db.asp" -->
<%
Dim aktivbruger__MMColParam
aktivbruger__MMColParam = "1"
If (Session("MM_Username") <> "") Then
  aktivbruger__MMColParam = Session("MM_Username")
End If
%>
<%
Dim aktivbruger
Dim aktivbruger_numRows


Set aktivbruger = Server.CreateObject("ADODB.Recordset")
aktivbruger.ActiveConnection = MM_db_STRING
aktivbruger.Source = "SELECT * FROM brugere WHERE brugernavn = '" + Replace(aktivbruger__MMColParam, "'", "''") + "'"
aktivbruger.CursorType = 0
aktivbruger.CursorLocation = 2
aktivbruger.LockType = 1
aktivbruger.Open()

aktivbruger_numRows = 0
%>
<%
Dim kategorier
Dim kategorier_numRows

Set kategorier = Server.CreateObject("ADODB.Recordset")
kategorier.ActiveConnection = MM_db_STRING
kategorier.Source = "SELECT * FROM kategorier"
kategorier.CursorType = 0
kategorier.CursorLocation = 2
kategorier.LockType = 1
kategorier.Open()

kategorier_numRows = 0
%>
<%
Dim varer__MMColParam
varer__MMColParam = "1"
If (Request.QueryString("kategori") <> "") Then
  varer__MMColParam = Request.QueryString("kategori")
End If
%>
<%
Dim varer
Dim varer_numRows

Set varer = Server.CreateObject("ADODB.Recordset")
varer.ActiveConnection = MM_db_STRING
varer.Source = "SELECT * FROM varer WHERE kategori ='" & Replace(varer__MMColParam, "'", "''") & "'"
'varer.Source = "SELECT * FROM varer"' WHERE kategori = " + Replace(varer__MMColParam, "'", "''") + ""
varer.CursorType = 0
varer.CursorLocation = 2
varer.LockType = 1
varer.Open()

varer_numRows = 10
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
kategorier_numRows = kategorier_numRows + Repeat1__numRows
%>
<%
Dim Repeat2__numRows
Dim Repeat2__index

Repeat2__numRows = -1
Repeat2__index = 0
varer_numRows = varer_numRows + Repeat2__numRows
%>
<%
Dim MM_paramName
%>

<%
' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

Dim MM_keepNone
Dim MM_keepURL
Dim MM_keepForm
Dim MM_keepBoth

Dim MM_removeList
Dim MM_item
Dim MM_nextItem

' create the list of parameters which should not be maintained
MM_removeList = "&index="
If (MM_paramName <> "") Then
  MM_removeList = MM_removeList & "&" & MM_paramName & "="
End If

MM_keepURL=""
MM_keepForm=""
MM_keepBoth=""
MM_keepNone=""

' add the URL parameters to the MM_keepURL string
For Each MM_item In Request.QueryString
  MM_nextItem = "&" & MM_item & "="
  If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
    MM_keepURL = MM_keepURL & MM_nextItem & Server.URLencode(Request.QueryString(MM_item))
  End If
Next

' add the Form variables to the MM_keepForm string
For Each MM_item In Request.Form
  MM_nextItem = "&" & MM_item & "="
  If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
    MM_keepForm = MM_keepForm & MM_nextItem & Server.URLencode(Request.Form(MM_item))
  End If
Next

' create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL & MM_keepForm
If (MM_keepBoth <> "") Then
  MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1)
End If
If (MM_keepURL <> "")  Then
  MM_keepURL  = Right(MM_keepURL, Len(MM_keepURL) - 1)
End If
If (MM_keepForm <> "") Then
  MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1)
End If

' a utility function used for adding additional parameters to these strings
Function MM_joinChar(firstItem)
  If (firstItem <> "") Then
    MM_joinChar = "&"
  Else
    MM_joinChar = ""
  End If
End Function
%>
<html>
<head>
<title>J&oslash;rgen's H&aelig;fteshop</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td bgcolor="#333333"><div align="center"><font color="#FFFFFF" size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>J&oslash;rgen's
        H&aelig;fteshop</strong></font></div></td>
  </tr>
  <tr>
    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="20%" valign="top" bgcolor="#CCCCCC"><p><br>
              <font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Kategorier:</strong></font></p>
            <ul>
              <%
While ((Repeat1__numRows <> 0) AND (NOT kategorier.EOF))
%>
              <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><A HREF="default.asp?<%= MM_keepNone & MM_joinChar(MM_keepNone) & "kategori=" & kategorier.Fields.Item("id").Value %>"><%=(kategorier.Fields.Item("kategorinavn").Value)%></A></font></li>
              <%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  kategorier.MoveNext()
Wend
%>
             
</ul>
            <% If (Session("MM_Username")) = ("") Then 'script %>
            <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="login.asp">Log
              p&aring;/Ny bruger</a></font></p>
            <% End If ' end If (Session("MM_Username")) = ("") script %> <% If (Session("MM_Username")) <> ("") Then 'script %>
            <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="logout.asp">Log
              af</a></font></p>
            <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="kundeopdatering.asp">&AElig;ndre
              personlige oplysninger</a></font></p>
            <% End If ' end If (Session("MM_Username")) <> ("") script %>
<p>&nbsp;</p></td>
          <td width="60%"> <%
While ((Repeat2__numRows <> 0) AND (NOT varer.EOF))
%>
            <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td bgcolor="#999999"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Titel:
                  </strong><%=(varer.Fields.Item("varenavn").Value)%></font></td>
              </tr>
              <tr>
                <td> <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Pris:
                        </strong><%=(varer.Fields.Item("pris").Value)%></font></td>
                      <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><A HREF="detaljer.asp?<%= MM_keepURL & MM_joinChar(MM_keepURL) & "vare=" & varer.Fields.Item("id").Value %>">L&aelig;s
                        mere</A></font></td>
                      <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><A HREF="laegvareivogn.asp?<%= MM_keepURL & MM_joinChar(MM_keepURL) & "vare=" & varer.Fields.Item("id").Value %>">L&aelig;g
                        i indk&oslash;bsvogn</A></font></td>
                    </tr>
                  </table></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
              </tr>
            </table>
            <%
  Repeat2__index=Repeat2__index+1
  Repeat2__numRows=Repeat2__numRows-1
  varer.MoveNext()
Wend
%> </td>
          <td width="20%" valign="top" bgcolor="#CCCCCC"> <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><br>
              Indk&oslash;bsvogn:</strong></font></p>
            <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Du
              har k&oslash;bt for kr. <%=CCcart_GrandTotal%></font></p>
            <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="visvogn.asp">G&aring;
              til indk&oslash;bsvogn</a></font></p></td>
        </tr>
      </table></td>
  </tr>
  <tr>
    <td bgcolor="#333333"><div align="center"><font color="#FFFFFF" size="4" face="Verdana, Arial, Helvetica, sans-serif"><strong>Billigst
        og Bedst
        <% If (Session("MM_Username")) <> ("") Then 'script %>
        - Velkommen <%=(aktivbruger.Fields.Item("fornavn").Value)%>
        <% End If ' end If (Session("MM_Username")) <> ("") script %>
        </strong></font></div></td>
  </tr>
</table>
</body>
</html>
<%
aktivbruger.Close()
Set aktivbruger = Nothing
%>
<%
kategorier.Close()
Set kategorier = Nothing
%>
<%
varer.Close()
Set varer = Nothing
%>
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:10 #15
der er i linje 163 at den får sit udtræk sammen med katagori
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:13 #16
linje 163 ser sådan ud
              <li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><A HREF="default.asp?<%= MM_keepNone & MM_joinChar(MM_keepNone) & "kategori=" & kategorier.Fields.Item("id").Value %>"><%=(kategorier.Fields.Item("kategorinavn").Value)%></A></font></li>
Avatar billede eagleeye Praktikant
02. december 2003 - 22:13 #17
Prøv lige for test at øndre disse:
<%
While ((Repeat2__numRows <> 0) AND (NOT varer.EOF))
%>


Til:
<%
Response.Write "Antal : " & varer.recordcount &"<br>"
While ((Repeat2__numRows <> 0) AND (NOT varer.EOF))
%>
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:16 #18
så får jeg dette
Antal: -1
Avatar billede eagleeye Praktikant
02. december 2003 - 22:20 #19
hmm det skulle gerne passe med det antal vare der er til en kategori,..Prøv at udkommentere denne linje:
'varer.CursorLocation = 2
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:27 #20
det hjalp heller ikke
og den melder ingen fejl
Avatar billede eagleeye Praktikant
02. december 2003 - 22:29 #21
hvilken DB er det?
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:31 #22
der er en Access DB  *.mdb
Avatar billede eagleeye Praktikant
02. december 2003 - 22:37 #23
Prøv at rette:
While ((Repeat2__numRows <> 0) AND (NOT varer.EOF))
til dette så det ikke er Repeat2__numRows som driller:

While NOT varer.EOF


og du er 100% sikker på at kolonnen kategori kun indeholder et tal 1 -> X samt det er en tekst kolonne?
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:43 #24
der er følgende kolonder i tabellen
id som er autonum, kategori  varenavn varebeskrivelse pris  resten er text
Avatar billede gamemaster Nybegynder
02. december 2003 - 22:47 #25
kigger vireder på det i morgen

hilsen Gamemaster
Avatar billede eagleeye Praktikant
02. december 2003 - 22:47 #26
altså kolonnen kategori er tekst?
Det underlige var at den skrive -1 som antal, det tyder på der er noget galt. At databasen er tom eller kolonnen kategori indeholder noget andet end det forvendtet.
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