Visualizzazione dei risultati da 1 a 5 su 5

Discussione: parametri nulli

  1. #1
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218

    parametri nulli

    ragazzi buona sera!

    ho creato una insert che inserisce dei dati presi da opportune txtbox e droplist mediante opportuni parametri.
    a runtime però mi dice sempre

    'formato stringa di input errato'

    quando non seleziono nulla dalle droplist (notare che i campi del db relativi accettano i null...)

    da premettere che le txbox sono 'correlate' alle droplist secondo questa 'meccanica':
    in base al nome scelto nella drop ottengo il relativo valore in una textbox, e prendo il valore dalla textbox e lo uso nella insert.

    le drop prendono i valori da database, e siccome volevo che in cima alla drop mi dicesse qualcosa del tipo 'scegli un nome', nel source aspx ho aggiunto un datalistitem di nome 'seleziona un nome' e di valore ="" (cioè vuoto...)

    ebbene, quando non seleziono nulla dalle drop mi dà quel problema della stringa errata ,e penso sia collegato al value="" dell'item aggiunto...

    ora non lo so se ci ho azzeccato, ma come potrei gestire i valori ""?

  2. #2
    puoi provare a convertirili in DBNull, comunque dipende anche dal database che c'è sotto e da driver che utilizzi..
    Davide

  3. #3
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    come potrei fare a convertirli in dbnull? io uso vs2005, sqlserver2005 e c#...

    sono delle drop che hanno preso dei valori da db,eccetto il primo ('scegli un item') che è di tipo ""
    per il primo item ho provato ad assegnare value 'null' piuttosto che "", ma poi rimane il problema che per avere quel null devo per forza selezionare prima un altro item dalla lista e poi ritornare al primo item..

    per farti capire ti farò un esempio di quello che vorrei fare:
    sto trattando l'inserimento di cittadini in una anagrafica, ed ho una drop che contiene l'elenco di tutte le città italiane, e un'altra invece quello delle città estere.
    Nel caso di inserimento di un cittadino che nasce in italia dovrò scegliere una città solo dalla drop delle città italiane, mentre la drop delle città estere non dovrò toccarla proprio..

    per quello che trattano, non tutte le drop sono coinvolte nella insert per cui le uso, quindi il null me lo deve prendere in un certo senso come valore di default nel caso in cui io non usi proprio certe drop...

    che ne dici se settassi dei valori di default per i campi della tabella che riguardano l'insert?
    sarebbe una buona idea?
    o c'è qualche altro modo per mandare null se la drop non lavora?
    nota: quando ho creato il database non ho settato valori di default per i campi delle tabelle, e sto seriamente pensando di aver sbagliato...

  4. #4
    che ne dici se settassi dei valori di default per i campi della tabella che riguardano l'insert?
    sarebbe una buona idea?
    questo dovresti farlo in ogni caso. E' molto importante limitare al minimo i possibili errori e validare i dati. Imposta quindi tutti i valori di default per i vari campi nel database.
    Davide

  5. #5
    Utente di HTML.it L'avatar di _J_
    Registrato dal
    Apr 2007
    Messaggi
    218
    facendo così:

    if (!string.IsNullOrEmpty(TextBoxmia.Text))
    {
    cmd.Parameters["@parametro"].Value = TextBoxmia.Text;
    }
    else
    {
    cmd.Parameters["@parametro"].Value =DBNull.Value;
    }

    ho risolto alla grande, ma nel contempo ho anche settato i default per i campi per cui posso farlo..
    grazie cmq per il tuo aiuto!

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.