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

    Query di INSERT, errore sui campi booleani

    Ciao a tutti........ehilà, quanto tempo, che piacere ritrovarvi ecc. ecc. ma veniamo al sodo: in fase di inserimento dati (query INSERT INTO su db Access via script ASP [ovvio, altrimenti posterei su un altro forum ]) utilizzo il solito script che non mi ha mai creato problemi in anni di onorato servizio.

    Questa volta mi da' errore sui campi booleani (infatti se li tolgo e inserisco gli altri dati va tutto bene).

    L'errore è il solito
    '80040e10'
    [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
    di quando per esempio si sbaglia a scrivere il nome di uno dei campi del database.

    Per inserire questi campi solitamente acquisisco la variabile dal campo "nome_campo" del form (checkbox) in questo modo:
    nome_campo=request.form("nome_campo")
    if nome_campo= "nome_campo" then
    nome_campo = true
    else
    nome_campo = false
    end if
    Non è il massimo ma ha sempre funzionato ........e poi li inserisco usando la sintassi
    sql = "INSERT INTO tabella (nome_campo, ecc. ecc.) VALUES ("&nome_campo&", ecc. ecc.)"
    come vedete senza apici.

    Nel cercare l'errore mi faccio stampare la query, e vedo che i miei valori true e false sono diventati Vero e Falso, cioè sono stati tradotti in italiano, mentre l'inserimento non funziona.

    :master:

    Per il momento ho risolto sostituendo alle righe per trasformare nome_campo in true/false le seguenti
    if nome_campo= "nome_campo" then
    nome_campo = 1
    else
    nome_campo = 0
    end if
    usando 1 come true e 0 come false, e così funzia.

    Cosa era successo alle mie variabili booleane, perchè sono state tradotte in italiano?
    Posso intervenire con qualche istruzione ASP o dipende dalla configurazione del server e quindi dal provider?

    E sopratutto.....c'è qualche modo più decente per acquisire dal form i campi booleani e inserirli nel db? Accetterei ben volentieri un buon consiglio....

    Come sempre grazie in anticipo dal vostro affezionato Teo.

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Io parto sempre dal presupposto che Access è l'unico ad avere valori booleani del tipo true/false.
    Quindi non li uso mai mettendo sempre campi numerici di tipo byte che vanno quindi benissimo sia con Access che su altri db inserendo 0/1.

    Nel tuo caso specifico probabile che il sistema operativo sia in italiano e quindi traduca...

    Roby

  3. #3
    Grazie per la risposta Roby, penso anch'io la stessa cosa, e infatti usando 0/1 va benissimo..........

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  4. #4
    Grazie ragazzi,
    consiglio utile!
    Lucio Ghirardo

    www.lucioghirardo.it
    www.bulliebike.it
    www.gsveternigocalcio.com

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.