Как получить верхнюю строку в C# хранимой процедуры? - PullRequest
0 голосов
/ 18 февраля 2020

Мне просто нужна верхняя строка, хранимая процедура использует TOP 1, но я бы хотел, чтобы она была в C#, чтобы в будущем это приложение было немного лучше.

        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();
                    }
                }
            }
        }

1 Ответ

3 голосов
/ 18 февраля 2020

Избавиться от л oop 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();
                }
            }
        }
    }
...