Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: semplice insert into

  1. #1

    semprlice insert into

    <%
    dim email, Nome, Note, IDCategoria

    email = Request.Form("email")
    Nome = Request.Form("Nome")
    Note = Request.Form("Note")
    IDCategoria = Request.querystring("IDCat")

    strSql = "INSERT INTO contatti "
    strSql = strSql & "(email, Nome, Note, IDCategoria) "
    strSql = strSql & " VALUES (" & ToSql(email) & "," & ToSql(Nome) & "," & ToSql(Note) & "," & ToSql(IDCategoria) & ")"

    cn.Execute strSql

    cn.close()
    set cn = nothing
    ' response.redirect("elenco_contatti.asp")
    %>

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


    ZZO SBAGLIO?

  2. #2
    nel codice metti questo ed esegui la pagina

    codice:
    <%
    dim email, Nome, Note, IDCategoria
    
    email = Request.Form("email")
    Nome = Request.Form("Nome")
    Note = Request.Form("Note")
    IDCategoria = Request.querystring("IDCat")
    
    strSql = "INSERT INTO contatti "
    strSql = strSql & "(email, Nome, Note, IDCategoria) "
    strSql = strSql & " VALUES (" & ToSql(email) & "," & ToSql(Nome) & "," & ToSql(Note) & "," & ToSql(IDCategoria) & ")"
    
    
    response.write strSql
    response.end
    
    cn.Execute strSql
    
    cn.close()
    set cn = nothing
    ' response.redirect("elenco_contatti.asp")
    %>
    vedendo il risultato (stampa a schermo la SQL) capiremo che succede

    inoltre sarebbe interessante vedere cosa fa TOSQL, per non parlare della differenziazione fra STRINGHE e LONG (immagino che l'ID sia un numero... e il resto stringhe...

    nei numeri non si mette nulla
    nelle stringhe si usano gli apici (e quindi è buona norma effettuare un raddoppiamento di apici prima dell'inserimento in SQL)
    nelle data si usano i # #, oppure Datevalue()

    comunque vedendo il risultato della pagina modificata
    dovremmo capire il problema
    san imente saluta

    * http://simonecingano.it *

  3. #3
    questo è il risultato

    INSERT INTO contatti (email, Nome, Note, IDCategoria) VALUES ('giusto','giusto','giusto','1')

    mi pare tutto ok

  4. #4
    VVoVe: VVoVe: VVoVe:

    ORA TE LO DICO IO IL PROBLEMA è...
    AVERE IL DB IN UNA CARTELLA SENZA I PERMESSI DI SCRITTURA

    QUANTO SONO TARDO? DA 1 A 10

    11?
    OK

  5. #5

    capita
    san imente saluta

    * http://simonecingano.it *

  6. #6
    UUUUUFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    ho dato i permessi di scrittura e tutto ma non cambia nulla l'errore persiste ...ma cosa c'è di sbagliato

    la stringa di connessione al DB è

    <%
    Function ToSql(sString)
    ToSql = "'" & Replace (Replace(sString,"chr(34)",chr(34)&chr(34)) ,"'", "''") & "'"
    End Function

    Dim cn
    Set cn = server.CreateObject("ADODB.Connection")
    cn.ConnectionString = "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("./db/db.mdb")
    cn.open
    Dim rs
    %>


    io non vedo l'errore ma lui insiste a dirmi...
    Tipo di errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nell'istruzione INSERT INTO.

    questo quando provo a fare un insert into

  7. #7
    ripeto allora ciò che ho detto

    DI CHE TIPO SONO I 4 CAMPI
    sono tutti TEXT???

    perchè se l'ultimo non è un campo testo ma è numerico... QUEGLI APICI CHE CI SONO INTORNO A 1 PROPRIO NON VANNO

    bisogna imparare a leggere gli errori...

    ERRORE NELLA INSERT INTO

    ovvio che non c'entra con la connessione
    ma su come è scritta la insert into

    secondo me senza apici intorno a 1 va tutto liscio

    CAMPI TESTO CON APICI
    'testo'
    CAMPI NUMERICI SENZA APICI
    134
    CAMPI DATA CON #
    #12.15.22 30/03/2005#
    san imente saluta

    * http://simonecingano.it *

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Il problema è che "note" è una parola riserva. Soluzioni:
    - cambi il nome al campo
    - lo metti nella query tra parentesi quadre [note]

    Roby

  9. #9
    'un ci avevo pensato :rollo:

    vero
    san imente saluta

    * http://simonecingano.it *

  10. #10
    yes ...vero ... l'ho scoperto con prove prove e prove ....azz....ma per caso c'è un elenco in reter di parole riservate?

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.