none
Кнопка на выполнение процедуры в Visual C# RRS feed

  • Вопрос

  • Доброго времени суток! У меня проблема. к Visual Studio C# подключена база данных  в которой есть хранимая процедура. как  по проще. написать кнопку на её выполнение в Sql.
    • Перемещено Abolmasov Dmitry 17 декабря 2012 г. 9:54 (От:Работа в среде Visual Studio)
    14 декабря 2012 г. 8:40

Ответы

  • Если процедура ничего не возвращает, то примерно так:

            //Это обработчик нажатия кнопки
            private void buttonName_Click(object sender, RoutedEventArgs e)
            {
                using (SqlConnection cn = new SqlConnection("connectionstring"))
                {
                    cn.Open();
                    SqlCommand cmd = new SqlCommand("command text;", cn);
                    cmd.ExecuteNonQuery();
                }
            }

    Если возвращает одно значение, то вместо ExecuteNonQuery используйте var ret = cmd.ExecuteScolar();

    Если возвращает несколько строк:

            //Это обработчик нажатия кнопки
            private void buttonName_Click(object sender, RoutedEventArgs e)
            {
                using (SqlConnection cn = new SqlConnection("connectionstring"))
                {
                    cn.Open();                
                    SqlCommand cmd = new SqlCommand("command text;", cn);
                    SqlDataReader dataReader = cmd.ExecuteReader();
                    //Читаем возвращяемые данные построчно
                    while (dataReader.Read())
                    { 
                    //тут код обработки данных
                    }
                    dataReader.Close();
                }
            }

    • Помечено в качестве ответа Abolmasov Dmitry 17 декабря 2012 г. 9:54
    15 декабря 2012 г. 7:53
    Модератор

Все ответы

  • "Дорогие ученые. У меня который год в подполе происходит подземный стук. Объясните, пожалуйста, как он происходит". (c) Стругацкие.

    14 декабря 2012 г. 14:47
  • Если процедура ничего не возвращает, то примерно так:

            //Это обработчик нажатия кнопки
            private void buttonName_Click(object sender, RoutedEventArgs e)
            {
                using (SqlConnection cn = new SqlConnection("connectionstring"))
                {
                    cn.Open();
                    SqlCommand cmd = new SqlCommand("command text;", cn);
                    cmd.ExecuteNonQuery();
                }
            }

    Если возвращает одно значение, то вместо ExecuteNonQuery используйте var ret = cmd.ExecuteScolar();

    Если возвращает несколько строк:

            //Это обработчик нажатия кнопки
            private void buttonName_Click(object sender, RoutedEventArgs e)
            {
                using (SqlConnection cn = new SqlConnection("connectionstring"))
                {
                    cn.Open();                
                    SqlCommand cmd = new SqlCommand("command text;", cn);
                    SqlDataReader dataReader = cmd.ExecuteReader();
                    //Читаем возвращяемые данные построчно
                    while (dataReader.Read())
                    { 
                    //тут код обработки данных
                    }
                    dataReader.Close();
                }
            }

    • Помечено в качестве ответа Abolmasov Dmitry 17 декабря 2012 г. 9:54
    15 декабря 2012 г. 7:53
    Модератор
  • Пожалуйста, не бросайте тему без ответа. Спасибо.

    Для связи [mail]

    17 декабря 2012 г. 9:53