2010-03-20 5 views
3

Dans ma base de données simple, j'utilise SqlCE et je n'arrive pas à comprendre correctement si la requête renvoie des lignes ou non. HasRows ne fonctionne pas. Jusqu'à présent, j'ai ceci:Comment savoir si la requête SqlCe a des lignes?

_DbCommand.CommandText="SELECT * FROM X" 
SqlCeDataReader reader=_DbCommand.ExecuteQuery(); 

if (reader.FieldCount!=0) //I thought it could work (O rows - 0 fields?), but its true even with 0 rows 
{ 
    while (reader.Read()) 
    { 
     // 
    } 
} 

Merci

+0

'FieldCount' est le nombre de colonnes. –

+0

Oui, bien sûr, je pensais que cela pourrait fonctionner parce que je suppose que sans lignes il y aura 0 colonnes. – Thomas

Répondre

1
int count = 0; 
while (reader.Read()) 
{ 
count++; 
} 
if(count==0) 
{ 
// no rows 
} 
+0

Oui c'est possible..J'ai espéré un peu plus facile car le lecteur doit savoir si au moins 1 enregistrement a été reçu ... au moins c'est ce que je pensais – Thomas

+0

Cela devrait être la réponse acceptée. – DeathRs

2

Essayez ceci:

_DbCommand.CommandText="SELECT COUNT(*) FROM X" 
Int32 count = (Int32) _DbCommand.ExecuteScalar(); 
Questions connexes