Avatar billede jmc Nybegynder
27. august 2003 - 23:29 Der er 16 kommentarer og
1 løsning

Syntax error in UPDATE statement.

Microsoft JET Database Engine error '80040e14'

Syntax error in UPDATE statement.

/bruger.asp, line 111

hvad kunne dette skyldes?
Avatar billede squashguy Nybegynder
27. august 2003 - 23:31 #1
en fejl i din update sætning:) lad os se den...
Avatar billede mm12010 Nybegynder
27. august 2003 - 23:32 #2
at der er en fejl i din SQL :o)

må vi se?
Avatar billede eagleeye Praktikant
27. august 2003 - 23:33 #3
Det kan slyldes forkert kolonnenavn, mangler ' en ' for meget, mangler , osv.. Det leteste er hvis du kunne vise den.
Avatar billede jmc Nybegynder
27. august 2003 - 23:36 #4
<%
' *** 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_aa_STRING
  MM_editTable = "brugere"
  MM_editColumn = "bruger_id"
  MM_recordId = "" + Request.Form("MM_recordId") + ""
  MM_editRedirectUrl = "bruger_liste.asp"
  MM_fieldsStr  = "Forenings_ide|value|Rettigheder_id|value|nyheder|value|navn|value|brugernavn|value|password|value|email|value"
  MM_columnsStr = "forenings_ide|none,none,NULL|rettigheder_id|none,none,NULL|nyheder|none,1,0|navn|',none,''|brugernavn|',none,''|password|',none,''|email|',none,''"

  ' 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
%>
<%
' *** 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 = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute ' dette er linie 111


min SQL'er ser sådan ud:

<%
Dim rs_bruger__MMColParam
rs_bruger__MMColParam = "1"
If (Request.QueryString("bruger_id") <> "") Then
  rs_bruger__MMColParam = Request.QueryString("bruger_id")
End If
%>
<%
Dim rs_bruger
Dim rs_bruger_numRows

Set rs_bruger = Server.CreateObject("ADODB.Recordset")
rs_bruger.ActiveConnection = MM_aa_STRING
rs_bruger.Source = "SELECT * FROM brugere WHERE bruger_id = " + Replace(rs_bruger__MMColParam, "'", "''") + ""
rs_bruger.CursorType = 0
rs_bruger.CursorLocation = 2
rs_bruger.LockType = 1
rs_bruger.Open()

rs_bruger_numRows = 0
%>
<%
Dim rs_foreninger
Dim rs_foreninger_numRows

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

rs_foreninger_numRows = 0
%>
<%
Dim rs_rettigheder
Dim rs_rettigheder_numRows

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

rs_rettigheder_numRows = 0
%>
<%
Dim rs_bruger_login__MMColParam
rs_bruger_login__MMColParam = "1"
If (Request.Cookies("brugernavn") <> "") Then
  rs_bruger_login__MMColParam = Request.Cookies("brugernavn")
End If
%>
<%
Dim rs_bruger_login
Dim rs_bruger_login_numRows

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

rs_bruger_login_numRows = 0
%>
<%
Dim rs_editors__MMColParam
rs_editors__MMColParam = "1"
If (Request.Cookies("forenings_id") <> "") Then
  rs_editors__MMColParam = Request.Cookies("forenings_id")
End If
%>
<%
Dim rs_editors
Dim rs_editors_numRows

Set rs_editors = Server.CreateObject("ADODB.Recordset")
rs_editors.ActiveConnection = MM_aa_STRING
rs_editors.Source = "SELECT *  FROM hent_editors  WHERE forenings_id = " + Replace(rs_editors__MMColParam, "'", "''") + ""
rs_editors.CursorType = 0
rs_editors.CursorLocation = 2
rs_editors.LockType = 1
rs_editors.Open()

rs_editors_numRows = 0
%>
Avatar billede squashguy Nybegynder
27. august 2003 - 23:41 #5
prøv lige at echo den sql ud, indsæt denne linie:

response.write MM_editQuery

foran denne linie
MM_editCmd.Execute ' dette er linie 111

og skriv resultatet
Avatar billede ldanielsen Nybegynder
27. august 2003 - 23:47 #6
Gå ind over linie 111 og skriv Response.write (MM_editQuery)

Så vi kan se selve UPDATE strengen. Det skulle være noget med "UPDATE brugere SET BlaBla = "BlaBla" WHERE ..."
Avatar billede jmc Nybegynder
27. august 2003 - 23:47 #7
update brugere set forenings_ide = 1,rettigheder_id = 1,nyheder = 1,navn = 'jan',brugernavn = 'jan',password = 'jan',email = 'jan' where bruger_id = 1
Microsoft JET Database Engine error '80040e14'

Syntax error in UPDATE statement.

/bruger_master_edit.asp, line 112
Avatar billede ldanielsen Nybegynder
27. august 2003 - 23:47 #8
Der er vist ekko her :o)
Avatar billede jmc Nybegynder
27. august 2003 - 23:49 #9
forenings_ide tal
rettigheder_id tal
navn tekst
brugernavn tekst
password tekst
email tekst
nyheder ja/nej
Avatar billede jmc Nybegynder
27. august 2003 - 23:50 #10
;o)
Avatar billede jmc Nybegynder
27. august 2003 - 23:51 #11
ja og nu skiftede koden til at fejle i linie 112, men det er jo helt naturligt nu hvor jeg satte en ekko linie ind.
Avatar billede eagleeye Praktikant
27. august 2003 - 23:52 #12
Prøv at sætte [] omkring password, det er et reserveret ord:

[password] = 'jan'
Avatar billede jmc Nybegynder
27. august 2003 - 23:54 #13
skal det være her?
MM_fieldsStr  = "Forenings_ide|value|Rettigheder_id|value|nyheder|value|navn|value|brugernavn|value|[password]|value|email|value"
  MM_columnsStr = "forenings_ide|none,none,NULL|rettigheder_id|none,none,NULL|nyheder|none,1,0|navn|',none,''|brugernavn|',none,''|[password]|',none,''|email|',none,''"
Avatar billede jmc Nybegynder
27. august 2003 - 23:56 #14
det er nok noget med dette. Nu opdatere den men password feltet er tomt?
Avatar billede eagleeye Praktikant
27. august 2003 - 23:56 #15
Det skal nok kun være den ene af dem. Denne her da den anden bruges til at hendte fra FORM'en

  MM_columnsStr = "forenings_ide|none,none,NULL|rettigheder_id|none,none,NULL|nyheder|none,1,0|navn|',none,''|brugernavn|',none,''|[password]|',none,''|email|',none,''"
Avatar billede jmc Nybegynder
27. august 2003 - 23:59 #16
du er et eagleeye - good danm alexis - nu virker det, tak.
point?
Avatar billede eagleeye Praktikant
28. august 2003 - 00:00 #17
Det lyder godt ;)
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