Select count (*)

martedì 08 luglio 2008 - 17.38

lanfra Profilo | Senior Member

Faccio una select conut(*) e visualizzo il valore in una label.
Perchè se eseguo la query mi ritorna un risultato, mentre se eseguo la pagina web ho un'altro valore?

Dove sbaglio?

Sql = "SELECT count(*) " Sql += " FROM ZCNTB_EXTRA_DATI T1, ZCNTB_EXTRA_ANAGRAFICA T2 " Sql += " WHERE T1.COD_DITTA = T2.COD_DITTA AND " Sql += " T1.TIPO_CONTRATTO = '01' AND " 'RID Sql += " T1.DT_REVOCA_FATT = '00000000' AND " '/*DITTE REVOCATE*/" Sql += " T1.DT_ATTIVA_SOSPENS = '00000000' AND " '/*DITTE SOSPESE*/" Sql += " (T2.COD_PAESE IS NULL OR " Sql += " T2.COD_IBAN = '00') AND " Sql += " T2.COD_CIN IS NULL " Sql += " ORDER BY T2.COD_DITTA " Dim cmd As New OracleCommand(Sql, conn) Try conn.Open() Dim rNrTotaleNoCIN As OracleDataReader rNrTotaleNoCIN = cmd.ExecuteReader() If rNrTotaleNoCIN.Read Then IDE_NOCIN.Text = rNrTotaleNoCIN.GetValue(0) rNrTotaleNoCIN.Close() End Try


Lanfra

freeteo Profilo | Guru

ciao,
sei sicuro che la pagina punti allo stesso db dove stai facendo la query tu?
Controlla nel web.config che non ci sia qualcosa di impostato che non è coerente con le prove che fai tu, la query deve tornare lo stesso valore dato che è una stringa diretta, non c'è niente che possa "far dipendere" dal fatto di essere su una pagina aspx...

ps: In generale, se devi concatenare le stringhe usa StringBuilder, oppure come nel tuo caso se è solo per leggibilità, vai a capo con "& _" così non vengono eseguite tante istruzioni, ma la creazione di una sola stringa e ne guadagni di prestazioni.

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

lanfra Profilo | Senior Member

Sei troppo avanti Free, puntavo sul DB di sviluppo ed eseguivo la query sul DB di produzione grazie e scusa del disturbi, mi sono acccorto stanotte!


Lanfra

freeteo Profilo | Guru

>Sei troppo avanti Free, puntavo sul DB di sviluppo ed eseguivo
>la query sul DB di produzione grazie e scusa del disturbi, mi
>sono acccorto stanotte!
succede, mi sembrava strano che ci fosse una differenza, ma tutto può essere nell'informatica
Cmq se è quello accetta la risposta così chiudiamo il thread.Grazie.


ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

lanfra Profilo | Senior Member

effettivamente anch'io mi chiedevo come mai di questo risultato, sai la fretta, la voglia di ferie... ed in più ho scordato la prima regola "Calma e gesso"!!!

Grazie per la dritta dello StringBuilder anche se sono poco righe ma aiuta notevolmente l'esecuzione della concatenazione. Sai utilizzo questo metodo per scrivere query x' più leggibile x me e per manutenzioni future.

Ricordo che ho provato a trovare in un software una query di 5526 caratteri tutta su una riga!!! Impressionante.
Lanfra

freeteo Profilo | Guru

>effettivamente anch'io mi chiedevo come mai di questo risultato,
>sai la fretta, la voglia di ferie... ed in più ho scordato la
>prima regola "Calma e gesso"!!!
sempre...è la più importante!


>Grazie per la dritta dello StringBuilder anche se sono poco righe
>ma aiuta notevolmente l'esecuzione della concatenazione. Sai
>utilizzo questo metodo per scrivere query x' più leggibile x
>me e per manutenzioni future.
si, magari nel tuo caso non fa tanta differenza, ma cmq è buona norma tenere questa regola quando concateni tante volte delle stringhe, il "tante" per me è piu di 3 volte...ma è opinabile.


>Ricordo che ho provato a trovare in un software una query di
>5526 caratteri tutta su una riga!!! Impressionante.
non ho capito cosa intendi dire con "ho pravato a trovare" ...forse volevi dire che "ti è capitato di trovare" se è così la cosa è a dir poco allucinante...anche se sql non fa problemi ovviamente


ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

lanfra Profilo | Senior Member

Ok, l'italiano lo imparerò prima o poi .

Pensa che per provare la stringa ho poi dovuto scompormela tutta e formattarla per capirci qualcosa...
Lanfra
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