|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
vb controllo campo di tipo data
Ola a todos!
pesco dal db un campo di tipo data, devo controllare che questo campo non sia vuoto quindi ho pensato: If i("INT_DATAEFFET") is nothing Then ... ma non funziona, non da errore ma non entra mai nel if, nonostante il campo sia vuoto così ho iniziato a cercare infiniti modi, modificando prima la select : Select ISNULL(INT_DATAEFFET,'')AS INT_DATAEFFET (...) e poi nuovamente l'if: If CType(i("INT_DATAEFFET"), String) = "" Then non funzionava... la funzione isnull restituisce 1900-01-01 00:00:00.000 in caso di campo di tipo data con valore nullo allora ho scritto If CType(i("INT_DATAEFFET"), String) = "1900-01-01 00:00:00.000" Then ma continua a non funzionare... ho provato altri metodi... ma senza risultato... qualcuno sa suggerirmi come fare? grazie!
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Ragazzi condivido con i miei discepoli (oggi sono preso male, non fateci caso
Codice:
Option Explicit
Public Enum TDati
TD_WRITE
TD_READ
End Enum
Public Function TDato(ByVal sDato As Variant, ByVal TD As TDati) As String
'trattamento dei dati
Select Case TD
Case TD_WRITE: TDato = IIf(sDato = "", "Null", "'" & Replace(sDato, "'", "''") & "'")
Case TD_READ: TDato = IIf(IsNull(sDato) = False, sDato, "")
End Select
End Function
La funzione funziona in scrittura o in lettura a seconda del parametro passato a quest'ultima... Nel caso della lettura infatti va a fare il controllo se il campo è vuoto (ma in verità è nullo), invece nella modalità di scrittura è utile (sempre per le stringhe) perchè se gli viene passato un valore vuoto lui andrà a creare la stringa già formattata per la query di questo tipo: 'Null', così andrà a mettere un campo vuoto!! Es lettura: txtCognome = TDato(rs!Cognome, TD_READ) Es scrittura: ... "VALUES(" & TDato(txtCognome, TD_WRITE) & ")" ... Per la questione del campo data nn è un problema, perchè tu basta che poi controlli che il risultato che ti torna dalla funzione sia vuoto (come stringa intendo) per cui con due belle virgolette vicine: "" se ci sono ancora problemi chiedi pure!
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein Ultima modifica di matpez : 06-04-2004 alle 14:22. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
ma perchè non mi funziona? non mi fa compilare: "name isNull not declared" p.s. non ho utilizzato tutta la funzione da te postata, ho utilizzato solo isnull
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
E' impossibile che nn funzioni, prova a vedere bene dove l'hai messa, o posta qui il codice dov'è contenuta la funzione
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
... ... sto parlando di vb.net...
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
.... il tuo titolo dice: vb controllo campo di tipo data va be di VB.NET nn so praticamente nulla.... mi spiace, la prossima volta cerca di specificare il linguaggio preciso anche perchè VB e VB.NET sono nn dico uno l'opposto dell'altro, ma diciamo che in comune hanno il nome
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
non ci credo!!!!! sei uno dei pochi che riponde sempre ai topic.... ma non conosci il linguagio che utilizzo io e adesso chi mi aiuta? cmq ho trovato la soluzione (per questo problema) if If i("INT_DATAEFFET") Is System.DBNull.Value Then per ora facendo così non mi ha dato ne errori ne problemi ed entra nell'if (al contrario delle altre prove che ho fatto) grazie comunque matpez
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Prego
VB.NET lo farà dopo l'estate, ora ho studiato ASP.NET ciaoooo
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Jul 2002
Città: TV
Messaggi: 125
|
Non esiste nel VB.net ila funzione IsNull.La controparte per gli oggetti e' IsNothing mentre per i campi null di un database,a prescindere dal tipo,vanno verificati come hai fatto tu,con System.DBNull.
Questo perche' il concetto di Null(e di altri tipi di dati) si differenzia tra il framework e Sql,ad esempio. |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Zena
Messaggi: 1883
|
Quote:
__________________
Internet gratis in mobilità? perchè no? http://www.fon.com/ |
|
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Jul 2002
Città: TV
Messaggi: 125
|
Si e' l'unico nonche il corretto modo di procedere per i campi Null del DB!
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:30.



















