37 messaggi dal 20 settembre 2002
salve a tutti..
ho un problema

non so come stabilire prima se un datareader contiene o no elementi...
il codice è questo:
SqlConnection sqlconn = ConnessioneDB.sqlconn();
sqlconn.Open();
string stringaSQL = "Select * from tabella where campo="+valore+" and campo2="+valore2;
SqlCommand istruzione = new SqlCommand(stringaSQL, sqlconn);
SqlDataReader sqldr = istruzione.ExecuteReader(CommandBehavior.SingleRow);
try
{
while (sqldr.Read())
{
//istruzioni
}
}
catch
finally
{
sqldr.Close();
sqlconn.Close();
}

io vorrei sapere cosa mettere al posto del while
col vecchi asp io testavo la variadile recordset
con l'istrizione
if not rs.eof then...
non sapendo l'analogo in asp.net
ho optato per il while ma per in determinati casi in cui viene ripetuto questo codice il ritorni indietro per controlalre se ci sono valori provoca un rallentamento...con un if uscirebbe dopo la prima lettura...
e anche se potrei semplicemente lasciare un sqldr.read()
dentro il try..
il riconoscimento dell'eccezione provoca un rallentamento
proporzionale al numero di volte che si verifica

grazie in anticipo
Modificato da nulla74 il 23 gennaio 2007 00.51 -
61 messaggi dal 29 ottobre 2006
Contributi
Ciao,

puoi utilizzare la proprietà HasRows del datareader, che restituisce false se il datareader è vuoto.

Alessandro Gallo | ASP.NET AJAX Weblog | ASP.NET AJAX In Action
37 messaggi dal 20 settembre 2002
grazie mille per la risposta!
ciao!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.