Select COUNT()

martedì 25 luglio 2006 - 12.19

bluland Profilo | Guru

salve,

la select con COUNT restituisce il numero di righe affette, vorrei sapere usando un datareader come sia possibile leggere tale valore e magari visualizzarlo in una label o altro.

saluti

ENzo

micto27 Profilo | Senior Member

>salve,
>
>la select con COUNT restituisce il numero di righe affette,
>vorrei sapere usando un datareader come sia possibile leggere
>tale valore e magari visualizzarlo in una label o altro.
>
>saluti
>
>ENzo

Ad esempio puoi usare il metodo ExecuteScalar

dim cmd as New SqlCommand("select count(*) from miatab")
....
....
dim numeroRighe as int32 = cmd.ExecuteScalar

ciao, Michele

Ciciu Profilo | Senior Member

Ciao.
Più che un DataReader, Ti conviene utilizzare il metodo ExecuteScalar().
Considerando che la "select count(*) from xyz" Ti restituisce sempre un solo record composto da una sola colonna, è un metodo molto più veloce del datareader...

Data la connessione "conn", puoi creare un nuovo oggetto "command" (OracleCommand, OleDbCommand, SqlCommand...) ed eseguirne il metodo sopraccitato.
Considera che Ti restituisce un object, per cui devi farne il casting...

xxxCommand cmd = new xxxCommand("select count(*) from table", conn);

string tStr = ocmd.ExecuteScalar().ToString();
int tNewNum = Convert.ToInt32(ocmd.ExecuteScalar().ToString());

Ciao - Fabio
Fabio G

bluland Profilo | Guru

ecco cosi funziona, mi ritorna il numero preciso di righe affect:

cmd.ExecuteScalar()

Dim inte As Integer = DirectCast(cmd.ExecuteScalar(), Integer).ToString

lblmsg.Text = inte


grazie a tutti
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5