Reputation: 75
I just need the top row, the stored procedure uses TOP 1, but I would like to have it in the C# to future proof this app a little.
protected void Load()
{
using (SqlConnection objConn = new SqlConnection(ConfigurationManager.AppSettings["Connection"]))
using (SqlCommand com = new SqlCommand("StoredProcedure", objConn))
{
objConn.Open();
com.CommandType = CommandType.StoredProcedure;
using (SqlDataReader dr = com.ExecuteReader())
{
while (dr.Read())
{
txtLabel.Text = dr["label"].ToString();
txtLabel.Text = dr["label"].ToString();
txtLabel.Text = dr["label"].ToString();
}
}
}
}
Upvotes: 0
Views: 362
Reputation: 11889
Get rid of the loop while(dr.Read())
:
protected void Load()
{
using (SqlConnection objConn = new SqlConnection(ConfigurationManager.AppSettings["Connection"]))
using (SqlCommand com = new SqlCommand("StoredProcedure", objConn))
{
objConn.Open();
com.CommandType = CommandType.StoredProcedure;
using (SqlDataReader dr = com.ExecuteReader())
{
if(dr.HasRows && dr.Read()) // <----- This is the change
{
txtLabel.Text = dr["label"].ToString();
txtLabel.Text = dr["label"].ToString();
txtLabel.Text = dr["label"].ToString();
}
}
}
}
Upvotes: 3