[VB.NET] Casella di testo data

venerdì 25 gennaio 2008 - 09.26

enrico23 Profilo | Newbie

Buongiorno a tutti ,
Ho un problema che probabilmente alcuni di voi avranno già affrontato e spero di trovare un'anima pia che sappia darmi una dritta,

1) Ho una form dove al suo interno ho delle caselle di testo per l'inserimento dei dati del tipo :
NOME - COGNOME - DATA ISCRIZIONE.

2) Premetto che nel DB SQL i campi sono impostati a AllowNull

PROBLEMA :

Se provo a cancellare il COGNOME oppure il NOME l'aggiornamento del DB avviene correttamente .

Se INVECE provo a cancellare la data nella casella di testo e quindi lasciare la casella di testo vuota
quando effettuo l'aggiornamento il database non viene aggiornato , quindi,
riaprendo la form mi ritrovo la data che volevo cancellare !!!!

Da cosa deriva questo problema e come posso risolverlo ?

Grazie anticipatamente.

SSUPERPIPPO Profilo | Guru

>Buongiorno a tutti ,
>Ho un problema che probabilmente alcuni di voi avranno già affrontato
>e spero di trovare un'anima pia che sappia darmi una dritta,
>
>1) Ho una form dove al suo interno ho delle caselle di testo
>per l'inserimento dei dati del tipo :
> NOME - COGNOME - DATA ISCRIZIONE.

Ciao

1. Lavori in modalità connessa o disconnessa?
2. Se in modalità disconnessa utilizzi il commandbuilder per generare i comandi di update oppure li generi manualmente

Magari posta un pò di codice relativo all'Update così vediamo...


http://blogs.dotnethell.it/alebadalin

enrico23 Profilo | Newbie

Ciao ,
intanto grazie per la risposta ,

Lavoro in modalità disconnessa ed ho utilizzato l'ide di visual studio per connettermi alla origine dati e per generare il ,
Dataset - BindingSource e TableAdapter.

L'update avviene con queste semplici istruzioni :

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

SSUPERPIPPO Profilo | Guru

Così ad occhio mi sembra tutto ok...
questo è uno dei motivi per cui non amo i wizard per gestire le connessioni al database... non hai il controllo

Il campo del database è di tipo DateTime?



http://blogs.dotnethell.it/alebadalin

enrico23 Profilo | Newbie

Ciao ,
Scusami per il ritardo della risposta ma sono rimasto incasinatissimo.....(Mi sono portato un po' avanti con il lavoro)

Si il campo DB è DateTime e accetta i valori null ......

Caspiterina non mi ero mai accorto di sto' problema maledetto anche perche solitamente i campi data che utilizzo sono sempre obbligatori , problema e che adesso che mi interessa avere un campo data non obbligatorio vorrei che cancellando la data il DB accettasse i valori null direttamente dalla casella di testo senza dover scrivere una query apposita per aggiornare solo quel campo !!!

Grazie anticipatamente ....

SSUPERPIPPO Profilo | Guru

>Ciao ,
>Scusami per il ritardo della risposta ma sono rimasto incasinatissimo.....(Mi
>sono portato un po' avanti con il lavoro)
>
>Si il campo DB è DateTime e accetta i valori null ......
>
>Caspiterina non mi ero mai accorto di sto' problema maledetto
>anche perche solitamente i campi data che utilizzo sono sempre
>obbligatori , problema e che adesso che mi interessa avere un
>campo data non obbligatorio vorrei che cancellando la data il
>DB accettasse i valori null direttamente dalla casella di testo
>senza dover scrivere una query apposita per aggiornare solo quel
>campo !!!
>
>Grazie anticipatamente ....

Così, facendo un paio di prove, credo che il problema è che quando tu cancelli il contenuto del campo data, il valore che tenta di memorizzare non è NULL ma bensi una stringa vuota ("") che non viene quindi accettata.

Non ho molto tempo per fare delle prova... magari nell'evento Validated della tua textbox, potresti impostare via codice a NULL il valore del campo...

Fammi sapere, ciao

Alessandro

http://blogs.dotnethell.it/alebadalin
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5