Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Метод ExecuteScalar




 

Метод ExecuteScalar объекта Command применяется для запросов, возвращающих одно значение. Такие запросы возникают при использовании агрегатных функций COUNT, MIN, MAX. Для демонстрации метода создадим новое консольное приложение. Полный листинг этого приложения:

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
namespace ConsoleApplication3 {
class Program {
static void Main(string[] args) {
string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename="+
@"D:\ВМИ\For ADO\BDTur_firmSQL2.mdf"+
"integrated Security=True;Connect Timeout=30;User Instance=True";
string commandText = "SELECT * FROM Туры";
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
SqlCommand myCommand = conn.CreateCommand();
myCommand.CommandText = "SELECT COUNT (*) FROM Туры";
string KolichestvoTurov = Convert.ToString(myCommand.ExecuteScalar());
conn.Close();
Console.WriteLine("Количество туров: " + KolichestvoTurov);
Console.ReadKey();
}
}
}

Возвращаемый методом ExecuteScalar результат приводим к типу string для вывода в окно консоли. Запускаем приложение - запрос вернул число 5 (рис. 82).

Рис. 82. Вывод количества туров

Можно несколько раз применять этот метод.

myCommand.CommandText = "SELECT COUNT (*) FROM Туры";
string KolichestvoTurov = Convert.ToString(myCommand.ExecuteScalar());
myCommand.CommandText = "SELECT MAX (Цена) FROM Туры";
string MaxPrice = Convert.ToString(myCommand.ExecuteScalar());
myCommand.CommandText = "SELECT MIN (Цена) FROM Туры";
string MinPrice = Convert.ToString(myCommand.ExecuteScalar());
myCommand.CommandText = "SELECT AVG (Цена) FROM Туры";
string AvgPrice = Convert.ToString(myCommand.ExecuteScalar());
conn.Close();
Console.WriteLine("Количество туров: " + KolichestvoTurov +
“\nСамый дорогой тур, цена в руб.: " +
MaxPrice + “\nСамый дешевый тур, цена в руб.: " +
MinPrice + "\nСредняя цена туров: " + AvgPrice);

Запускаем приложение и получаем несколько значений из базы данных (рис. 83).

Рис. 83. Вывод нескольких значений

Когда требуется получать подобные одиночные значения, всегда следует применять метод ExecuteScalar. Такое решение позволяет значительно повысить производительность.

 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 472; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.