Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto sql

Susate l'itrusione ma ho da parte mi un grande problema da risolvere.
Sicuramente per voi sara un piccolo problema...
ok!!! espongo il problema:
---------------------------
Ho una database access.
All'interno ho una tabella di nome : TITOLAZIONE
Dove ci sono dieci record nel campo  TITOLO (dati string)
all'interno di alcuni record ho un valore string "CARICO DALL'ALTO" (il
problema e l'apice)
Devo trovare tutte le stringhe con quel valore!!
se faccio questa procedura mi da l'errore!
---------------------------
sub trova()
dim Tit as string
dim Sql as string ' inizializzo la variabile dell'istruzione sql
dim Trova as string
dim i as integer
'-------------------------
Tit = "carico dall'alto"
'-------------------------
sql = "SELECT titolo FROM titolazione WHERE (titolo = ' " & Tit & " ')"
'(Tit è la varibile con l'apice)
Whith data1.rsTitolo
.open sql , , adOpenStatic, adLockReadOnly
for i = 0 to .recordcount -1
Trova = .field("titolo").value
listbox.additem trova
.next
next i
.close
end with
'-----------------------
end sub
'-------------------------
ECCO LA PROCEDURA il problema sorge del momento il codice sql fa riferimento
alla stringa con l'apice
e mi da errore!!!
-------------------------
Chi mi sa dice come posso eliminare questo problema?
Grazie
by Deskdeck

 e mi da errore!!!
Potrebbe essere un baco di access. Hai provato a segnalarlo alla ms?
Qui c'e' il form per i reclami:
http://groups.google.com/groups?hl=en&lr=&ie=ISO-8859-1&q=apice+sql&btnG=Google+Search&meta=group%3Dit.comp.lang.visual-basic
;-)
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 se faccio questa procedura mi da l'errore!
Quale errore e con quale descrizione?
PS: emmexx ha già risolto (con la pazienza di leggere il tuo post,
interpretandone il codice), ma perchè (chiedo a te perchè il caso lo
permette, ma mi rivolgo a molti) spesso accade di leggere "mi segnala
errore", senza (spesso e volentieri) dire il codice e la descrizione dello
stesso?
Fate così quando andate dal meccanico, dal medico o in un negozio?
C'è un rumorino, ho un dolorino, devo fare un acquistino...

C'č un rumorino, ho un dolorino, devo fare un acquistino...
Sembra incredibile, ma c'e' anche chi fa cosi' :-(
-- 
ciao,
hal

C'č un rumorino, ho un dolorino, devo fare un acquistino...
-Pronto, Dottore?
-Sě, mi dica...
-Ecco vede... sto male. Che cosa ho?
-...
termoPilucco

 -Ecco vede... sto male. Che cosa ho?
Grazie, la prima risata della giornata. ;-)

 -Effettivamente lei è molto malato. Le prescrivo subito un'ambulanza
bianca, con gli operatori in bianco che le faranno indossare una camicia
bianca e poi la metteranno in una camera bianca. Stia tranquillo, il
problema si risolverà immediatamente dopo aver buttato la chiave.
-...

il problema deriva dal fatto che SQL interpreta il carattere (') come segno
di riconoscimento di una stringa  quindi il problema puo essere risolto in
questo modo almeno io ho fatto cosě.
Tit = "carico dall'alto"
Tit= chr$(34) & tit & chr$(34)


 C'è un rumorino, ho un dolorino, devo fare un acquistino...
come figlio di un meccanico, posso confermarti che clienti che portavano la
macchina lamentando "un rumorino" ce n'erano parecchi.
il più divertente è stato quello che sentiva un rumorino al di sopra degli
80 km orari. è bastato modificare leggermente la posizione dello specchietto
retrovisore esterno per risolvere il problema (è stato quando avevano
introdotto l'obbligatorietà del retrovisore esterno, ne vendevano di
"tarocchi" che davano questo ed altri disturbi)
inutile dirti che i clienti col "rumorino" erano i più temuti...
-- 
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

 degli 80 km orari.
Beh, ma almeno questo ha aggiunto un elemento utile allo ricerca...

 inutile dirti che i clienti col "rumorino" erano i più temuti...
Basta vedere le cose come opportunità anzichè come problemi.
Al cliente col rumorino potevi sempre dire che era 'il transistor che
sfalistra' (ci hanno provato con me....), facendo seguire il tutto da
abbondante fattura ('uè, dottò, ma l'iva la scarica? No? e allora facimmo
aumma aumma...').
Ciao
Alberto

 Beh, ma almeno questo ha aggiunto un elemento utile allo ricerca...
se non fosse che l'elemento utile non l'aveva aggiunto lui, perlomeno non
all'inizio.
è un po' come capita con certi postatori, che le cose gliele devi tirar
fuori con il rampino.


 Basta vedere le cose come opportunità anzichè come problemi.
giusto te...
avrei un paio di problemi da trasformare in opportunità...
che il tempo di apertura di una connessione ad un db sqlserver dipenda
pesantemente dalle caratteristiche della macchina client penso che sia
sostanzialmente credibile, ma secondo te, può passare da "virtualmente
nulla" a trenta secondi?
la presenza di client "lenti" può rallentare anche i client veloci?


 la presenza di client "lenti" può rallentare anche i client veloci?
Solo in caso di transazioni tenute aperte da client lenti.
Ciao
Alberto

 Però dovrebbe essere uguale da client a client.
grazie per la risposta.
non so se il db è in autoclose, perchè non è mio.
si tratta di quel famoso programma in cui mi appoggio ad un database gestito
da un'altra applicazione, e che mi hanno cambiato da access a sqlserver.
il fatto è che il problema del tempo di connessione si verifica solo da un
paio di client che montano un pentium2, mentre le macchine pentium4 non
danno alcun problema.
a pensarci meglio, da quanto mi hanno detto i produttori del software
"principale", loro si connettono all'apertura del programma e si
disconnettono all'uscita, quindi il db non dovrebbe essere mai chiuso...
potrebbe essere che i pc vecchi hanno anche una scheda di rete lenta?


 potrebbe essere che i pc vecchi hanno anche una scheda di rete lenta?
Alla faccia della lentezza...
La connessione è una cavolata, quanto a dati da trasferire.
Piuttosto, puoi valutare questioni sistemistiche:
- Se usi l'autenticazione NT, può essere che debba avvenire una
autenticazione presso il PDC, e magari ciò è lento.
- Se invece del nome server usi l'IP, cambia qualcosa?
- Ci sono firewall in mezzo?
Ciao
Alberto

 - Ci sono firewall in mezzo?
i don't think so. è una rete interna fisicamente scollegata da qualsiasi
altra cosa, non ne vedrei la ragione. c'è un server di dominio nt per
l'autenticazione degli utenti, ma credo che non venga coinvolto in questo
processo.
domani, comunque, faccio un salto dal cliente e vediamo.


 - Se invece del nome server usi l'IP, cambia qualcosa?
no.
ho provato e i tempi sono gli stessi.
alcune macchine si connettono "immediatamente", altre, sempre quelle,
oscillano tra il "tempo 0" e i 20 secondi.
poi il tempo di recupero dei dati č omogeneo sulle varie macchine.


 oscillano tra il "tempo 0" e i 20 secondi.
Se prima di tentare la connessione, sfogli la rete col gestione risorse, e
quindi metti in cache del client il routing per il server, cambia qualcosa?
Se sě, ci saranno porcherie tipo NetBeui assieme a Tcp/Ip, Dns marci, Wins
che non funziona, Dhcp anteguerra, o cose del genere.
Ciao
Alberto

 file xyz.mdf"
noto che sei sensibile ai suggerimenti subliminali :-)
comunque ho stampato il post, appena torno dal cliente (e ci devo tornare
perchè mi hanno modificato il formato di salvataggio delle immagini :-( )
provo tutto.
molte grazie


 poi il tempo di recupero dei dati è omogeneo sulle varie macchine.
Sergio, sono l'ultimo che può dire qualcosa, ma, escludendo problemi
hardware/rete (che si farebbero sentire anche in fase di recupero dati, non
solo nella connessione, che poi, come diceva Albe, è veramente la cosa
minima), se le macchine che "fan fatica" son sempre le stesse, prova davvero
a vedere (sempre come diceva Albe) i vari protocolli di rete presenti su
quelle macchine. Se ce n'è più di quelli che servono il sistema rischia di
scandagliarli tutti, con una priorità che non conosco ed esclude, man-mano
quelli che falliscono perchè non presenti dall'altra parte e falli segare,
lasciando solo quelli (quello!) necessari, tipicamente TCP/IP.