ADO.NET con Resulset con un record

giovedì 04 dicembre 2008 - 11.55

Teech Profilo | Expert

Quando ho un Command che mi restituisce un solo record (classica situazione in cui nella WHERE ho indicata la chiave primaria) posso evitare di implementare un ciclo (fondamentalente che effettua un unico passaggio) per leggere i dati?
Attualmnete pero così:
Dim cm As New SqlCommand("SELECT Codice, Descrizione WHERE Codice=@Codice") cm.Parameters.AddWithValue("@Codice",ValoreRicerca) Dim dr As SqlDataReader=cm.ExecuteReader While dr.Read 'Popolo oggetti con i dati End While
So che esiste il Metodo ExecuteScalar ma restituisce solo il primo campo del primo record del resultset quindi non tutto il record.
Soluzioni più eleganti?

Grazie!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

alx_81 Profilo | Guru

>Soluzioni più eleganti?
Dim cm As New SqlCommand("SELECT Codice, Descrizione WHERE Codice=@Codice")
cm.Parameters.AddWithValue("@Codice",ValoreRicerca)
Dim dr As SqlDataReader=cm.ExecuteReader

if dr.HasRows
dr.read()
' ...
End If


>Grazie!!!
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

Teech Profilo | Expert

So che era una sciocchezza, ma così mi piace molto di più...
Grazie!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole
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