Четверг Мая 17 , 2012
TEXT_SIZE
   


Выполнение запроса, возвращающего одно значение

Индекс материала
Выполнение запроса, возвращающего одно значение
Страница 2
Страница 3

Предположим, вы хотите выполнить запрос и получить одну ячейку (одну запись, одно поле) данных. Вот два примера запросов, возвращающих одно значение: SELECT COUNT(*) FROM Customers SELECT CompanyName FHOM Customers WHERE CustomerlD = 'ALFKI' Использовать в этом случае объекты DataReader или DataSet — то же самое, что стрелять из пушки по воробьям. У объекта Command есть метод ExecuteScaiar, предназначенный специально для таких запросов. Он возвращает значение, применяя универсальный тип данных Object, который можно преобразовать в любой нужный вам тип: Visual Basic. NET Dim strConn As String = "Provider=SOLOLEDB;Data Source=(local)\NetSDK;" & "Initial Catalog=Northwind;Trusted_Connection=Yes;Dim en As New OleDbConnection(strConn) cn. Open() Dim cmd As OleDbCommand = cn. CreateCommand{) cmd.

CommandText = "SELECT COUNT(*> FROM CustomersDim intCustomers As Integer = CInt(cmd, ExecuteScalarO) cmd. CommandText = "SELECT CompanyName FROM Customers " & "WHERE Customer-ID = 'ALFKI1Dim strCompanyName As String = Convert. ToString(cmd.

ExecuteScalar) Visual C#.NET string strConn = "Provider=SQLOLEDB;Data Source=(local)\\NetSDK;" + "Initial Catalog=Northwind;Trusted_Connection=Yes;"; OleDbConnection en = new OleDbConnection(strConn); cn. Open(); OleDbCommand cmd = cn. CreateCommand(); cmd. CommandText = "SELECT COUNT(*) FROM Customers"; int intCustomers = Convert. Tolnt32(cmd. ExecuteScalar()); cmd.

CominandText = "SELECT CompanyName FROM Customers " + "WHERE CustomerlD = 'ALFKI1"; string strCompanyName = Convert. ToString(cmd. ExecuteScalar()); Метод ExecuteScalar — хороший пример функции, предоставляющей отличную замену коду, который вы, возможно, даже и не считали неэффективным. Выполнение параметризованного запроса Предположим, вы разрабатываете приложение, позволяющее просматривать список заказов, размещенных вашими клиентами. Если у вас 20 клиентов, не пишите 20 отдельных функций, возвращающих заказы каждого конкретного клиента, а создайте параметризованную функцию, которая принимает сведения о клиенте и возвращает список его заказов.



Добавить комментарий


Защитный код
Обновить

Рейтинг пользователей: / 0
ХудшийЛучший 

Метео

Войти

Голосование

Идеальный вариант проведения новогодней корпоративной вечеринки - это…

Сейчас на сайте

Сейчас 7 гостей онлайн