Newsgroup: it.comp.lang.visual-basic
Titolo: ?Query con stringa nulla

In una query con criteri del genere WHERE Tipo Is Null Or Tipo="" (questo in
Access si puo fare)
ma nel codice di vb non lo accetta.
Come scrivete la stringa nulla con i doppi apostrofi? oppure?
Carmelo

 Come scrivete la stringa nulla con i doppi apostrofi? oppure?
Stringa nulla (Null) e stringa a lunghezza zero ("") sono due cose
profondamente diverse.
Lupo.che.prima.o.poi.si.stufa

 Come scrivete la stringa nulla con i doppi apostrofi? oppure?
usa ->  '' per delimitare le stringhe nelle query.
Es: "select * from contatti where tipo is null or tipo = ''"
Saluti
GianfraH
-- 
Dove c'e' cantina c'e' GianfraH (tm)

 profondamente diverse.
Tu lo usi il Null?
-- 
Le persone non sono il proprio comportamento: devi sempre andare oltre,
essere flessibile, capire il punto di vista degli altri, interpretarne i
comportamenti ed intuirne le esigenze.
Per rispondere in privato elimina
dall'indirizzo "togliquesto"
MasterDavidex
David Ruscelli

 Tu lo usi il Null?
No, lo ritengo (vecchia storia) inconcepibile dalla mente umana, esattamente
come l'infinito, quindi lo sego d'ufficio e sparo un errore brutale se lo
incontro (per esempio da db esterni usati per importazione), ma una provetta
non si nega a nessuno...


wrote:

http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&oe=UTF-8&q=%22visual+basic%22+query+apice
Ciao!

 No, lo ritengo (vecchia storia) inconcepibile dalla mente umana,
Ti ricordi SqlBase? Il motore per db che usiamo qui da me, ne parlammo tempo
fa...
In SqlBase Null e stringa lunghezza zero sono equivalenti...
:-)
Per esempio, in una query scrivere
WHERE CAMPO1 IS NULL
o scrivere
WHERE CAMPO1=''
oppure fare un update e impostare un campo come Null o come ''
è esattamente la stessa cosa...
Infatti le prime volte che ho messo le mani su Access facevo dei casini
della malora...
:-)
Volevo dirtelo, a dimostrazione che quello che tu sostieni l'ha pensato
anche qualcun'altro evidentemente...


 Ciao!

 pensato anche qualcun'altro evidentemente...
Ecco, ... un altro pazzo, evidentemente, perchè nessuno mi capisce ;-(

 esattamente come l'infinito
E come fai con i campi data ?


 E come fai con i campi data ?
0, Zero
oppure 01-01-1234, convenzionale, ma esistente e concepibile!
!!! ecchecazzo !!!
Se ti dico "troviamoci per una birra al niente, o, se non ti va,
all'infinito", tu stai ancora in piedi?
Te prova a dirmi una roba del genere e io ti vaporizzo all'istante, senza
nemmeno chiederti come ti chiami.
Ecco... Siamo umani, ragioniamo come esseri umani, chè Bill ci ha già
condizionato a sufficienza...

 E come fai con i campi data ?
In Access il modo migliore per lavorare con le date senza farsi del male è
trattarle come stringhe di testo yyyy/MM/dd


 condizionato a sufficienza...
Infinito non e' un concetto di Zio Bill, come
non lo sono tante altre cose...
Pensa solo al fatto che tu conti a partire da
uno nella vita normale, mentre in informatica
parti dallo zero... secondo me sono due concetti
un po' distinti.
Non che sia mai stato all'Infinito, a meno che
non fosse una birreria... ;)
Saluti
GianfraH, che usa verificare anche i null... ;)


 trattarle come stringhe di testo yyyy/MM/dd
Non male come idea, anche se non sempre si usa Access ;)
E molto spesso occorre far lavorare il
proprio programma con altri programmi esistenti
che trattano le date in modo standard, come
campo data cioe'.
In questi casi occorre fare qualche verifica in piu'.


 GianfraH, che usa verificare anche i null... ;)
Ma come?, non avevi detto che io devo verificare la mia data convenzionale?

 all'infinito", tu stai ancora in piedi?
No, il paragone non regge.
Un campo ha attributi e proprietà fra le propietà c'è il valore. Il valore
può non essere definito proprio per evitare di mettere in bocca al campo
valori che non sono ancora stati specificati da nessuno.
In effetti il valore esiste (birra al malto), ma c'è un flag che dice al
oste di non leggerlo.
termoPilucco

 al oste di non leggerlo.
Basta!!! Un valore convenzionale, non reale nei dati reali, può essere usato
per dire "non c'ho messo niente", se e solo se è necessario.
Odio i Null. Inconcepibili! E guardo storto, molto (anzi, malto), chi solo
dice che li concepisce. Non è un umano.

 mente umana.
Il 'non so' è un concetto che ammetti?
Perchè Null significa 'non so'.
Ciao
Alberto

 Ma come?, non avevi detto che io devo verificare la mia data
convenzionale?
E' un po' diverso...
Io verifico se "Is Null", tu verifichi se data = "01-01-1234":
se i dati vengono gestiti da programmi solo tuoi e'
un fatto; se le manine sui dati ce li mettono anche gli
altri, allora devi usare uno standard... null ad esempio.
(specie se il db non lo hai creato te ma esiste di gia'...
non e' che per fare una stampa devi costringere una
azienda a variare il formato data solo perche' a te non
piace ;)
Saluti
GianfraH


 Perchè Null significa 'non so'.
Guarda, piuttosto che il Null, prevedo un altro campo, Boolean, che dice
"Data Valida"

 piace ;)
Io, ogni volta che ho dovuto gestire/leggere dati di altri, ho dovuto,
sempre, adattarmi, perchè tali erano.
E chi sono io, BabboNatale?

 dice "Data Valida"
Ah, ecco...
E' un modo come un altro.
A me non piace, e mi dà l'idea di aumentare la complessità della
manutenibilità del sistema, ma se a te piace.
Forse questo nasce da un approccio molto diverso al db. Ad esempio, tu usi
Dao, che è un qualcosa di più 'intimo' al db stesso. Diciamo che c'è una
commistione fra ciò che è lato vb e ciò che è lato db.
Io uso Ado, proprio perchè tengo i due mondi ben distinti. E faccio TUTTO
quello che posso con Sql, limitando l'uso di VB a ciò che deve
necessariamente essere lato client, interfaccia, seriali, ecc...
E in Sql, il Null è di una comodità immensa, pensa solo all'Outer Join, che
restituisce proprio dei Null *che hanno* valore informativo, perchè vogliono
dire *questo elemento di là non c'è*.
Beh, stiamo divagando...
Ciao
Alberto

:-)
Ma va?!?
Dovrei darci un occhio - non lo posso fare visto che ho prestato il
libro - pero' se non ricordo male lo standard SQL ANSI 92 definisce
NULL e stringa a lunghezza zero come tue cose ptofondamente
differenti. Per cui Access e' 'piu' standard' di SqlBase.....
Ciao!
Luca


Un mio amico aveva trovato una bottiglia di liquore che si chiama
Niente. Non so dove lo producano (anzi, se qualcuno ne sa
qualcosa...). Puoi immaginare le risate grasse:
"cosa ti posso offrire?"
"niente, grazie".... :)))))
Ciao!
Luca


Prima di darti una risposta vedo se trovo la discussione cui fai
riferimento.
Pero' giuro che non capisco questa avversione per il NULL (che per
definizione e' lo stato di un campo qualsiasi non esplicitamente
inizializzato).
Ciao!
Luca


Oh, la. Volevo dirlo, ma l'hai detto tu per me. Io non sono umano.
:))))
Ciao!
Luca

 "niente, grazie".... :)))))
Mi ricorda anni fa il Drive In, gli sketch
di Francesco Salvi Barman...
"Cosa prende?"
"Mah, un amaro qualunque..."
E lui
"Amaro Qualunque, l'amaro per l'uomo inutile!"
LOL!
Ciao
GianfraH



Era il MegaSalviShow!! Mitico!!
Comunque il Niente esiste sul serio.... :-O
Ciao!
Luca

 inizializzato).
Vabbè, ancora una volta: perchè il nulla non esiste. Ma, lo so, sono fisime
mie...

 Era il MegaSalviShow!! Mitico!!
Si si, devo rivedere... forse ho
anche qualche cassetta di allora... ;)
Saluti


[Luca Menegotto = 
circa_otl...@yahoo.it
 in
q78870lqh4fh7raol...@4ax.com
] ha scritto:

Ma SqlBase, se così è (non lo conosco), è più ... umano. :-P
E poi, l'ANSI esiste e ok, ma ... è sempre giusto o anche solo ... logico?
Comunque, mi defilo, è una battaglia persa per me. Abbasso i Nulls!


Guerra? Nono, per carita', se tu ti trovi bene senza, non mettercelo,
il null.  Io son ben distante da Torquemada e dalla Santa inquisizione
dei databases.
E' solo che consideravo come il fatto di avere un generico valore
standard e conosciuto da tutti che ti indica che un campo - qualsiasi,
indipendentemente dal tipo - non e' inizilizzato sia comodo. Qualsiasi
alternativa funzionante e' ovviamente ben acccetta!! :))))
Cuai!
Luca

 ha scritto nel messaggio
news:q78870lqh4fh7raol...@4ax.com...

Lo standard ansi92 č rispettato perchč di fatto Null e stringa lunghezza
zero sono due cose profondamente diverse anche in SqlBase, la mia
affermazione non era esatta, ma di fatto (Ho appena provato!!) facendo un
update impostando CAMPO1 con '' (stringa vuota) e andando a cercare il
record inserendo nella where la condizione "CAMPO1 IS NULL" lo trova...
questo con Access non accade.



Allora mi spiego meglio stringa a lunghezza zero ("").
Carmelo

 Allora mi spiego meglio stringa a lunghezza zero ("").
strSQL = "[...] where tipo = '' "


 Allora mi spiego meglio stringa a lunghezza zero ("").
Allora '' (apicino apicino), non virgolette perchè le stesse servono a
racchiudere la stringa intera in fase di composizione.