Avatar billede jmc Nybegynder
04. februar 2002 - 19:55 Der er 1 løsning

ultradev

hvad skyldes denne fejl:

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error (comma) in query expression 'emne_id = 1, 5, 2'.

/mmp2/rediger_relation_emne_gruppe.asp, line 89


her er koden:
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/data.asp" -->
<%
' *** Edit Operations: declare variables

MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
  MM_editAction = MM_editAction & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Update Record: set variables

If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then

  MM_editConnection = MM_data_STRING
  MM_editTable = "sys_emne_gruppe"
  MM_editColumn = "emne_id"
  MM_recordId = "" + Request.Form("MM_recordId") + ""
  MM_editRedirectUrl = "relation_emne_gruppe.asp"
  MM_fieldsStr  = "select|value"
  MM_columnsStr = "emne_id|none,none,NULL"

  ' create the MM_fields and MM_columns arrays
  MM_fields = Split(MM_fieldsStr, "|")
  MM_columns = Split(MM_columnsStr, "|")
 
  ' set the form values
  For i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
  Next

  ' append the query string to the redirect URL
  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
  End If

End If
%>
<%
' *** Update Record: construct a sql update statement and execute it

If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then

  ' create the sql update statement
  MM_editQuery = "update " & MM_editTable & " set "
  For i = LBound(MM_fields) To UBound(MM_fields) Step 2
    FormVal = MM_fields(i+1)
    MM_typeArray = Split(MM_columns(i+1),",")
    Delim = MM_typeArray(0)
    If (Delim = "none") Then Delim = ""
    AltVal = MM_typeArray(1)
    If (AltVal = "none") Then AltVal = ""
    EmptyVal = MM_typeArray(2)
    If (EmptyVal = "none") Then EmptyVal = ""
    If (FormVal = "") Then
      FormVal = EmptyVal
    Else
      If (AltVal <> "") Then
        FormVal = AltVal
      ElseIf (Delim = "'") Then  ' escape quotes
        FormVal = "'" & Replace(FormVal,"'","''") & "'"
      Else
        FormVal = Delim + FormVal + Delim
      End If
    End If
    If (i <> LBound(MM_fields)) Then
      MM_editQuery = MM_editQuery & ","
    End If
    MM_editQuery = MM_editQuery & MM_columns(i) & " = " & FormVal
  Next
  MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId

  If (Not MM_abortEdit) Then
    ' execute the update
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If
%>
<%
Dim rs_emne_gruppe__MM_colparm
rs_emne_gruppe__MM_colparm = "1"
if (Request.QueryString("id") <> "") then rs_emne_gruppe__MM_colparm = Request.QueryString("id")
%>
<%
set rs_emne_gruppe = Server.CreateObject("ADODB.Recordset")
rs_emne_gruppe.ActiveConnection = MM_data_STRING
rs_emne_gruppe.Source = "SELECT tbl_emne.*, tbl_gruppe.*  FROM (sys_emne_gruppe LEFT JOIN tbl_emne ON sys_emne_gruppe.emne_id = tbl_emne.emne_id) LEFT JOIN tbl_gruppe ON sys_emne_gruppe.gruppe_id = tbl_gruppe.gruppe_id  WHERE id = " + Replace(rs_emne_gruppe__MM_colparm, "'", "''") + ""
rs_emne_gruppe.CursorType = 0
rs_emne_gruppe.CursorLocation = 2
rs_emne_gruppe.LockType = 3
rs_emne_gruppe.Open()
rs_emne_gruppe_numRows = 0
%>
<%
set rs_emne = Server.CreateObject("ADODB.Recordset")
rs_emne.ActiveConnection = MM_data_STRING
rs_emne.Source = "SELECT Distinct emne,emne_id  FROM tbl_emne"
rs_emne.CursorType = 0
rs_emne.CursorLocation = 2
rs_emne.LockType = 3
rs_emne.Open()
rs_emne_numRows = 0
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="til_nyt_emne">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Flyt:&nbsp;<%=(rs_emne_gruppe.Fields.Item("gruppe").Value)%>&nbsp;til emnet
        <select name="select">
          <%
While (NOT rs_emne.EOF)
%>
          <option value="<%=(rs_emne.Fields.Item("emne_id").Value)%>" ><%=(rs_emne.Fields.Item("emne").Value)%></option>
          <%
  rs_emne.MoveNext()
Wend
If (rs_emne.CursorType > 0) Then
  rs_emne.MoveFirst
Else
  rs_emne.Requery
End If
%>
          <option selected><%=(rs_emne_gruppe.Fields.Item("emne").Value)%></option>
        </select>
        :</td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">
        <input type="submit" value="Update Record" name="submit">
      </td>
    </tr>
  </table>
  <input type="hidden" name="MM_recordId" value="<%= rs_emne_gruppe.Fields.Item("emne_id").Value %>">
  <input type="hidden" name="MM_recordId" value="<%= rs_emne_gruppe.Fields.Item("gruppe_id").Value %>">
  <input type="hidden" name="MM_recordId" value="<%= rs_emne.Fields.Item("emne_id").Value %>">
  <input type="hidden" name="MM_update" value="true">
</form>
<p>&nbsp;</p>
</body>
</html>
<%
rs_emne_gruppe.Close()
%>
<%
rs_emne.Close()
%>
Avatar billede The Real Yoda Juniormester
13. februar 2002 - 11:41 #1
fejlen skylden højest tænkelig at emne_id er et talfelt i databasen...

når så den siger emne_id=1,2,3  så kommer der fejl fordi at komma er et alfanumerisk tegn.. dvs ikke et tal-tegn..

det som den i princippet skulle skrive var emne_id=1 or emne_id=2 or emne_id=3

ellers skal det være AND...
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