Avatar billede spyro.dk Nybegynder
28. november 2002 - 18:18 Der er 9 kommentarer og
2 løsninger

syntax error i opdaterings side

hej
jeg har et lille problem med et login jeg har lavet.
selve login virker fint men det er meningen at brugerne også skulle rette i deres bruger oplysninger, men når jeg prøver får jeg denne fejl meddelse.

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression 'brugernavn = 'admin'.

/logon/brugeropdatering.asp, line 153

hvad skylles det og hvad skal jeg gører ved den?????

ps. asp er lavet ved hjælp af dw-mx og hæftet "databasestyrede websider, og ja jeg er total nybegynder i asp.

mvh spyro
Avatar billede spyro.dk Nybegynder
28. november 2002 - 18:19 #1
her kommer kilden.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/db.asp" -->
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers=""
MM_authFailedURL="login.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
  If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
        (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
    MM_grantAccess = true
  End If
End If
If Not MM_grantAccess Then
  MM_qsChar = "?"
  If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
  MM_referrer = Request.ServerVariables("URL")
  if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
  MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
  Response.Redirect(MM_authFailedURL)
End If
%>
<%
' *** Edit Operations: declare variables

Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd

Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId

Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i

MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
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")) = "form1" And CStr(Request("MM_recordId")) <> "") Then

  MM_editConnection = MM_db_STRING
  MM_editTable = "bruger"
  MM_editColumn = "brugernavn"
  MM_recordId = "'" + Session("MM_Username") + ""
  MM_editRedirectUrl = ""
  MM_fieldsStr  = "fornavn|value|efternavn|value|email|value|rgang|value|gade|value|bynavn|value|postnummer|value"
  MM_columnsStr = "fornavn|',none,''|efternavn|',none,''|email|',none,''|årgang|none,none,NULL|gade|',none,''|bynavn|',none,''|postnummer|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 MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_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
%>
<%
' *** Delete Record: declare variables

if (CStr(Request("MM_delete")) = "form2" And CStr(Request("MM_recordId")) <> "") Then

  MM_editConnection = Conn
  MM_editTable = "bruger"
  MM_editColumn = "brugernavn"
  MM_recordId = "'" + Session("MM_Username") + ""
  MM_editRedirectUrl = "inde.asp"

  ' 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 MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
      MM_formVal = MM_emptyVal
    Else
      If (MM_altVal <> "") Then
        MM_formVal = MM_altVal
      ElseIf (MM_delim = "'") Then  ' escape quotes
        MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
      Else
        MM_formVal = MM_delim + MM_formVal + MM_delim
      End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
      MM_editQuery = MM_editQuery & ","
    End If
    MM_editQuery = MM_editQuery & MM_columns(MM_i) & " = " & MM_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 = Conn
    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
%>
<%
' *** Delete Record: construct a sql delete statement and execute it

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

  ' create the sql delete statement
  MM_editQuery = "delete from " & MM_editTable & " where " & MM_editColumn & " = " & MM_recordId

  If (Not MM_abortEdit) Then
    ' execute the delete
    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 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 = Conn
aktivbruger.Source = "SELECT * FROM bruger WHERE brugernavn = '" + Replace(aktivbruger__MMColParam, "'", "''") + "'"
aktivbruger.CursorType = 0
aktivbruger.CursorLocation = 2
aktivbruger.LockType = 1
aktivbruger.Open()

aktivbruger_numRows = 0
%>

<html>
<head>
<title>opdatering</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
//-->
</script>
</head>

<body>
<form method="POST" action="<%=MM_editAction%>" name="form1">
  <table align="center">
    <tr valign="baseline">
      <td nowrap align="right">Fornavn:</td>
      <td> <input type="text" name="fornavn" value="<%=(aktivbruger.Fields.Item("fornavn").Value)%>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Efternavn:</td>
      <td> <input type="text" name="efternavn" value="<%=(aktivbruger.Fields.Item("efternavn").Value)%>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Email:</td>
      <td> <input type="text" name="email" value="<%=(aktivbruger.Fields.Item("email").Value)%>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Årgang:</td>
      <td> <input type="text" name="rgang" value="<%=(aktivbruger.Fields.Item("årgang").Value)%>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Gade:</td>
      <td> <input type="text" name="gade" value="<%=(aktivbruger.Fields.Item("gade").Value)%>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Bynavn:</td>
      <td> <input type="text" name="bynavn" value="<%=(aktivbruger.Fields.Item("bynavn").Value)%>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Postnummer:</td>
      <td> <input type="text" name="postnummer" value="<%=(aktivbruger.Fields.Item("postnummer").Value)%>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">Password:</td>
      <td> <input type="text" name="password" value="<%=(aktivbruger.Fields.Item("adgangskode").Value)%>" size="32">
      </td>
    </tr>
    <tr valign="baseline">
      <td nowrap align="right">&nbsp;</td>
      <td> <input type="submit" value="opdater"> <input name="Button" type="button" onClick="MM_callJS('document.form2.submit();')" value="Slet Bruger">
      </td>
    </tr>
  </table>
  <input type="hidden" name="MM_update" value="form1">
  <input type="hidden" name="MM_recordId" value="<%= aktivbruger.Fields.Item("årgang").Value %>">
  <input type="hidden" name="MM_recordId" value="<%= aktivbruger.Fields.Item("brugernavn").Value %>">
</form>
<form name="form2" method="POST" action="<%=MM_editAction%>">
  <input type="hidden" name="MM_delete" value="form2">
  <input type="hidden" name="MM_recordId" value="<%= aktivbruger.Fields.Item("id").Value %>">
  <input type="hidden" name="MM_recordId" value="<%= aktivbruger.Fields.Item("brugernavn").Value %>">
</form>
<p>&nbsp;</p>
</body>
</html>
<%
aktivbruger.Close()
Set aktivbruger = Nothing
%>
Avatar billede spyro.dk Nybegynder
28. november 2002 - 18:21 #2
dette er line 153.
MM_editCmd.Execute

håber i kan hjælpe
spyro.dk
Avatar billede ducks Nybegynder
28. november 2002 - 18:21 #3
kan det være fordi at brugernavn ikke findes i databasen? (husk at der er forskel på store og små bogstaver) eller at admin ikke findes under brugernavn? ellers så prøv lige at komme med linje 153
Avatar billede spyro.dk Nybegynder
28. november 2002 - 18:32 #4
hej ducks
brugernavn findes i databasen, og admin findes osse. line 153 står ovenover.
eller får du den igen :O)

lin 153: MM_editCmd.Execute
spyro
Avatar billede medions Nybegynder
28. november 2002 - 18:39 #5
If (CStr(Request("MM_delete")) <> "" And CStr(Request("MM_recordId")) <> "") Then

  ' create the sql delete statement
  MM_editQuery = "delete from '" & MM_editTable & "' where '" & MM_editColumn & "' = " & MM_recordId


Prøv med sådan!

//>Rune
Avatar billede spyro.dk Nybegynder
28. november 2002 - 19:09 #6
hej medions
som jeg skrev er jeg total nybegynder i asp.
så hvor skal jeg skrive det og hvad skal jeg fjerne?
mvh spyro.dk
Avatar billede sostack Nybegynder
29. november 2002 - 13:29 #7
Tror der mangler et ' i denne linie:
MM_recordId = "'" + Session("MM_Username") + "" <-----<<< "'" ?
Avatar billede spyro.dk Nybegynder
29. november 2002 - 14:54 #8
hej sostack
beklager men det var heller ikke det der var galt.
det var fordi at jeg ikke havede huskede at slette cellen brugernavn i form 2,
så nu virker det.
hmm medions gider du at smide et svar så kan du og sostack dele point.
mvh spyro.dk
Avatar billede medions Nybegynder
29. november 2002 - 15:57 #9
Svar :o)

//>Rune
Avatar billede spyro.dk Nybegynder
29. november 2002 - 16:04 #10
tak fordi i gad at bruge tid på mit spørgsmål.
selvom at det ikke hjalp så meget

mvh spyro.dk
Avatar billede medions Nybegynder
01. december 2002 - 20:25 #11
NP...
Thx 4 Poinz

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