Newsgroup: it.comp.lang.visual-basic
Titolo: controllare una query da vb

Nel QueryAnalyzer di sql 2000 č presente un pulsante che controlla la
sintassi della query senza eseguirla. E' possibile fare la stessa cosa da
visual basic utilizzando ado o altro?
--
---
Matteo Orighi
EDP Sistem - Parma
0521-609 804

 visual basic utilizzando ado o altro?
Se costruisci l'istruzione SQL con la view , la copi e la incolli
nell'editor di VB , ti trovi una sintassi controllata.
giuseppe

 wrote in message
news:_IIh9.121786$pX1.4...@news2.tin.it...


 con un parametro tipo "non ritornare record"
Indipendentemente dai parametri che compongono l'istruzione SQL , la
costruzione a runtime deve essere corretta.
Una risposta può essere: "Non essistono record per le selezioni effettuate."
Una seconda: dopo rilevato il numero di record: "Il report sarà composto da
20.000 record. Vuoi continuare ?"
Il tutto dipende dalla macchina e dal volume dei record da caricare.
Una prova effettuata in questi giorni , (confronto tra Array e altre
funzioni , con un pentium1  233 MHz, 64 Mb ram , tempo esecuzione 6,5 sec;
con un pentium 1,6 GHz , 256 Mb ram , tempo 1,6 sec).
Per query dinamiche conviene avvertire con una Msgbox l'utilizzatore quanto
sta caricando , dopo le prime prova saprà il comportamento della macchina,
e deciderà se continuare o effettuare una nuova selezione più restrittiva.
giuseppeD

Mi sa che non ci siamo capiti molto!! A runtime posso provare ad eseguire
una query non corretta (ad es. set rs = cn.openresultset("select from
nometabella") ), mi genererà un errore che io interpreterò come "l'utente
non ha immesso dei parametri corretti". Il problema è che se per testare le
condizioni di where immesse dall'utente provo ad eseguire la query su una
tabella molto grande il tempo di attesa è non accettabile. Prendo ad es. il
QueryAnalyzer di MSSQL: esistono due bottoni, uno di esecuzione e uno per
controllare la sintassi (fare il parse). Quest'ultimo dice in maniera
immediata se ciò che ho scritto è sintatticamente corretto in un tempo di
pochi attimi anche se l'esecuzione della query comporterà un'attesa di
parecchi secondi.

 non ha immesso dei parametri corretti".
Tabellone con innumerevoli campi (un controllo se è possibile reazionarli
tra tabelle diverse)
L'utente seleziona valori.
Ripeto , dopo la selezione la costruzione deve essere corretta.
Se copi l'istruzione costruita in Vb e la incolli nell' Analyzer , il
risultato deve essere OK,
altrimenti è il codice errato.
Ammettiamo che esista un tool che analizzi la stringa e dia messaggi di
errore simili a quelli del Server SQL,
Es. msgbox "Manca l'apicetto"
pensi che l'utente sia in grado di interpretarli ?
L'utente seleziona valori inesistenti in tabella.
Il primo controllo , come indicato nel post precedente , è verificare se il
recordset è vuoto.
Se EOF e BOF messaggio "Valori inesistenti"
Chiusura recodset
Non mi sembra che occorra molto tempo , per quanta complessa è l'istruzione
SQL , restituire un recordset vuoto.
Diverso se il redordset è composto da 100.000 record , se esegui sempre
100.000 record verranno visualizzati.
Chiedo che risposte ricavi dalla visualizzazione del dettagio di 100.000
record  ?
Il problema non potrebbe essere quel tabellone enorme ?
Altre volte , anche in questo NG , ho letto che il db è utilizzato solo come
deposito di dati tralasciando ogni analisi iniziale e rischiare di trovarsi
in difficoltà dopo mesi di inserimenti dati da parte del cliente . Dopo si
che sono dolori.
Prova a fermare la produzione per una divisione e impostazione relazionale
delle tabelle.
 giuseppeD