Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Possibile errore di sintassi di Dreamweaver...

    Salve ragazzi,
    ho sempre fatto gli "insert" con Dreaweaver e non mi hanno mai creato problemi anche con file molto più complessi di questo che invece mi
    da "errore di sintassi".
    Se qualcuno di voi riesce a trovare l'eventuale errore mi risolverete un grosso problema.
    Grazie a tutti per l'interessamento...



    Specifiche del database:
    __________________________________________________ _________________

    Ho un database Access vuoto di nome cli_note.mdb con 3 campi:
    noid = Tipo contatore
    nocdcl = Tipo testo (6 caratteri)
    nonota = Tipo memo



    Codice della pagina incriminata:
    __________________________________________________ _________________

    <%@LANGUAGE="VBSCRIPT"%>

    <%
    ' *** 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 = ""
    %>
    <%
    ' *** Insert Record: set variables

    If (CStr(Request("MM_insert")) <> "") Then

    MM_editConnection = MM_cli_note_STRING
    MM_editTable = "note"
    MM_editRedirectUrl = "prove/popup.asp"
    MM_fieldsStr = "nocdcl|value|nonota|value"
    MM_columnsStr = "nocdcl|',none,''|nonota|',none,''"

    ' 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
    %>
    <%
    ' *** Insert Record: construct a sql insert statement and execute it

    If (CStr(Request("MM_insert")) <> "") Then

    ' create the sql insert statement
    MM_tableValues = ""
    MM_dbValues = ""
    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_tableValues = MM_tableValues & ","
    MM_dbValues = MM_dbValues & ","
    End if
    MM_tableValues = MM_tableValues & MM_columns(i)
    MM_dbValues = MM_dbValues & FormVal
    Next
    MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

    If (Not MM_abortEdit) Then
    ' execute the insert
    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
    %>
    <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 name="form1" method="POST" action="<%=MM_editAction%>">


    codice cliente
    <input type="text" name="nocdcl" maxlength="6">
    </p>


    nota informativa
    <input type="text" name="nonota">
    <input type="submit" name="Submit" value="Invia">
    <input type="hidden" name="MM_insert" value="true">
    </p>
    </form>
    </body>
    </html>



    Errore all'invio del modulo di inserimento record:
    __________________________________________________ ___________________

    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione INSERT INTO.
    /intranet/TMPai8u746f9m.asp, line 90

    la linea 90 è: MM_editCmd.Execute



    Tipo di browser:
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Avant Browser [avantbrowser.com])

    Pagina:
    POST 54 bytes to /intranet/TMPai8u746f9m.asp

    POST Data:
    nocdcl=096897&nonota=prova&Submit=Invia&MM_insert= true

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    Prima della riga di errore scrivi questo:

    codice:
    response.write (MM_editQuery):response.end
    A video apparirà la query e così potrai vedere da cosa dipenda l'errore.

    Roby

  3. #3
    Grazie Roby,
    quello che mi scrive è questo:

    insert into note (nocdcl,nonota) values ('096897','prova')

    a vederlo così sembrerebbe corretto, no?

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,563
    No, note è una parola riservata che non puoi usare né come nome di tabella, né come nome di campo.
    O cambi il nome alla tabella oppure nella query fai in modo di metterlo tra parentesi quadre:

    codice:
    insert into [note] (nocdcl,nonota) values ('096897','prova')
    Roby

  5. #5
    Ecco cos'era!!!
    La solita ca**ata che non si riesce a vedere.

    Ti ringrazio infinitamente!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.