Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    21

    Errore: Microsoft JET Database Engine (0x80040E14) Errore di sintassi nell'istruzione

    Buona sera , da qulache giorno tento di programmare una pagina asp che inserisca dei dati in un database (login.mdb) invano!! potete aiutarmi??
    Visualizzo questo errore:
    Microsoft JET Database Engine (0x80040E14)
    Errore di sintassi nell'istruzione INSERT INTO.
    premetto che utilizzo l'IIS di windows xp.
    vi posto il codice :
    <%@Language=VBScript %>
    <% Option Explicit %>
    <html>
    <head>
    <title>Registrazione</title>
    </head>
    <% Dim objconndb, rstabella, query, strconn, user, pass, nome, cognome, datanascita, email
    Set objconndb=Server.CreateObject("ADODB.Connection")
    strconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath ("utenti.mdb")
    objconndb.Open strconn
    user=Request.Form("user")
    pass=Request.Form("pass")
    nome=Request.Form("nome")
    cognome=Request.Form("cognome")
    datanascita=Request.Form("datanascita")
    email=Request.Form("email")
    query= "Insert into Utente (NomeUtente, Password, Nome, Cognome, DataNascita, email) Values('" & user & "', '" & pass & "', '" & nome & "', '" & cognome & "', '" & datanascita & "', '" & email & "');"
    objconndb.Execute(query)
    objconndb.Close: set objconndb=nothing
    Response.Write("Registrazione Riuscita")
    %>
    </body>
    </html>

    E Grazie a tutti per l'aiuto

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Sospetto la presenza di apici in una delle stringhe che tenti di memorizzare... per controllare fai:

    response.write query : response.flush

    prima di

    objconndb.Execute(query)

    e verifica cosa ti visualizza...

    ciao

    ps: anche DataNascita e' un campo di tipo stringa, vero?
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    21
    Grazie mile per la tisposta Br1 ti posto cosa visulializzo:

    Insert into Utente (NomeUtente, Password, Nome, Cognome, DataNascita, email) Values('prova', 'prova', 'prova', 'prova', 'prova', 'prova');
    Microsoft JET Database Engine error '80040e14'

    Errore di sintassi nell'istruzione INSERT INTO.

    /registrazione.asp, line 19

    Comunque DataNascita è di tipo data/ora gg/mm/aaaa perchè nel form in html ho inserito un script in javascript che visualizza un calendario e inserisce nel casella del form DataNascita, la data scelta in questo formato.
    Mi conviene metterla di tipo testo??
    Ancora Grazie!!!

  4. #4
    1. usa [email] e [password]
    2. se la data è in formato data va tra ##, non tra ''

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    21
    Grazie mille optime per la risposta
    Ma non ho ben capito dove devo inserire [email] e [password], intendi nella Query?
    in questo modo??
    query= "Insert into Utente (NomeUtente, [Password], Nome, Cognome, DataNascita, [email]) Values('" & user & "', '" & pass & "', '" & nome & "', '" & cognome & "', #" & datanascita & "#, '" & email & "');"
    Grazie!!!

  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    21
    Grazie ancora optime per la risposta, ma ora mi da un altro tipo di errore :

    Tipo di errore:
    Microsoft JET Database Engine (0x80004005)
    Per l'operazione è necessaria una query aggiornabile.
    /registrazione.asp, line 18

  8. #8
    Dal tuo codice intuisco che il database utenti.mdb è nella root del sito, giusto? Se è così probabilmente l'errore è causato dal fatto che in quella cartella l'utente impersonato da ASP non è autorizzato a scrivere. Sposta il database un una sottocartella e a questa assegna all'utente "Internet Guest Account" i diritti di scrittura. Questa operazione è quella che faccio su server Win2003, in XP non dovrebbe essere dissimile.
    Chi non cerca trova.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    21
    RISOLTO!!!
    Tas ho fatto come mi hai detto tu:
    sono andato nella cartella inetpub strumenti->Opzioni Cartella e ho tolto la spunta a Utilizza condivisione file semplice, poi tasto destro sulla cartellla wwwroot->proprietà->protezione e ho autorizzato il controllo completo.
    Grazie mille a tutti!!!

  10. #10
    Nella macchina di sviluppo quello che hai fatto va comunque bene, ricordati però che se trasferisci il sito in un server web è caldamente consigliabile abilitare i diritti di scrittura solo alla cartella che contiene effettivamente il database.
    Da IIS, inoltre, nelle proprietà della cartella del database, tab Directory, sarebbe meglio togliere la spunta da "Read". Questo impedisce ad un navigatore di scaricarsi col browser il database e accedere a tutti i dati in esso contenuti...
    Chi non cerca trova.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.