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

    problemi con inserimento nuovo record in db

    codice:
    sql = "INSERT INTO documentazione VALUES ("&new_id&", "&Request.Form("tipo")&", '"&Request.Form("oggetto")&"', '"&Request.Form("testo")&"', 1, "&Request.Form("link")&", "&Request.QueryString("userID")&", #"&data&"#, 0, 0, "&null&", "&null&", "&Request.QueryString("userID")&", #"&data&"#)"
    Cn.Execute(sql)

    Mi da:
    Errore di sintassi nell'istruzione INSERT INTO.


    Qualcuno puo' aiutarmi? Grazie, Ciao!

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Mancano i nomi dei campi prima del VALUES.
    Inoltre, per i campi testo devi mettere gli apici nei valori che passi, per i campi numerici invece no.
    Vedo dal tuo esempio che la cosa è apparentemente casuale...

    Roby

  3. #3
    prova a scrivere
    sql = "INSERT INTO documentazione VALUES ("&new_id&", "&Request.Form("tipo")&", '"&Request.Form("oggetto")&"', '"&Request.Form("testo")&"', 1, "&Request.Form("link")&", "&Request.QueryString("userID")&", #"&data&"#, 0, 0, "&null&", "&null&", "&Request.QueryString("userID")&", #"&data&"#)"

    response.write(sql):response.end()

    Cn.Execute(sql)

    e dicci cosa di stampa.

  4. #4
    Inserisco tutti i campi della tabella, quindi posso evitare di mettere i nomi dei campi prima di VALUES no?

    ...gli apici gli ho messi solo nei campi testo, per le date o messo i cancelletti e i numerici nulla...

    Un'ultima cosa....quiei due "null" li inserisco i due campi numerici...posso?

  5. #5
    Ho provato e stampa questo...

    INSERT INTO documentazione VALUES (116, 7, 'prova prova', 'prova prova prova', 1, ww.linkprova.it, 4, #07/05/2006 14.54.58#, 0, 0, , , 4, #07/05/2006 14.54.58#)

  6. #6
    intanto devi inserire il nome dei campi prima di values.
    la sintassi dell'insert è

    INSERT INTO nome_tab
    (campo1,campo2,campo3,....campoN)
    VALUES
    (valore_campo1,valore_campo2,valore_campo3,....val ore_campoN)

    fai attenzione anche agli apici.
    non ti conviene passare direttamente il request.form perchè un se si inserisce un apice la quesry darà arrore, ti conmviene crearti una funzioncina che ti rimpiazza gli apici ed usarla al posto di request.form

    tipo
    codice:
    function req(str)
       req=replace(request.form(str),"'","''")
    end function
    
    INSERT INTO...VALUES('"&req("tipo")&"',...etcetc)

    poi nel campo link inserisci una stringa (www.linkprova.it) ma non usi gli apici nella query.....,'"&req("link")&"',

  7. #7
    quel campo è di tipo link...devo inserire lo stesso gli apici?

    cmq...grazie mille per i consigli!

  8. #8
    scusate ho ancora problemi con l'INSERT INTO...

    ora riesco a inserire il nuovo record nel db ma visualizzo questo messaggio di errore...

    Tipo di errore:
    ADODB.Field (0x80020009)
    Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se non posti lo script è dura...

    Roby

  10. #10
    niente...risolto...probabilmente non riempivo tutti i campi necessari...

    cmq grazie mille!

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.