[Sql Server CE 4] Errore con reader.HasRows

giovedì 23 giugno 2011 - 15.45
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010

utente Profilo | Junior Member

Qualcuno di voi al corrente di cosa vuol dire questo errore?
SQL Server Compact non supporta chiamate alla proprietà HasRows se il cursore sottostante non è scorrevole.

Vorrei eseguire una semplice query tramite C# utilizzando un database Microsoft sql server CE4

Il codice che genera l'errore è il seguente
string query = "SELECT * FROM utenti"; SqlCeCommand cmd = new SqlCeCommand(query, connessione); connessione.Open(); SqlCeDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { } reader.Close(); }
L'errore viene generato da "if (reader.HasRows)"


----------------------------------------------------
News

Ho letto che in questo caso non si può usare la proprietà HasRows quindi basta non usarla e il gioco è fatto. (per vedere se ci sono righe, basta vedere se entro nel ciclo).

La domanda adesso è, ma se non si può usare perchè esiste?
Comunque mi sembra strana questa cosa, un conto è tornare il numero di righe che ha ritornato la select e un conto e tornare vero o falso

alx_81 Profilo | Guru

>La domanda adesso è, ma se non si può usare perchè esiste?
Ciao
perchè altrimenti avrebbero dovuto disegnare una classe per i recordset disconnessi andando a complicare di molto l'utilizzo.
Siccome la documentazione dice di non usarla, direi che l'eccezione generata ti toglie ogni dubbio

>Comunque mi sembra strana questa cosa, un conto è tornare il
>numero di righe che ha ritornato la select e un conto e tornare
>vero o falso
Deve comunque vedere se EOF e BOF sono identici, non trovi? Quindi deve fare una "scansione" e quindi il recordset deve essere disconnesso.

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5