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


Динамичный поиск

Поиск записи по значениям первичного ключа эффективен, но далеко не во всех ситуациях поиск окажется таким прямолинейным. Что, если требуется найти клиентов из США (USA), живущих не в Сиэтле (Seattle)? Добавить такой критерий в запрос к БД можно при помощи раздела WHERE: SELECT CustomerlD, CompanyName, ContactName, Phone, City, Country FROM Customers WHERE Country = 'USA' AND City<>'Seattle' Метод Select объекта DataTable позволяет искать ряды по похожим критериям. Предположим, вы выбрали все содержимое таблицы Customers в объект DataTable, Тогда для поиска клиентов из США. но не из Сиэтла, можно воспользоваться кри терием из приведенного выше запроса: Visual Basic. NET Dim strConn, strSQL. As String strConn = "Provider=SQLOLEDB;Data Source=(local)\NetSDK;" & "Initial Catalog=Northwind;Trusted_Connection=Yes;strSQL = "SELECT CustomerlD, CompanyName, ContactName, " & "Phone, City, Country FROM CustomersDim da As New OleDbDataAdapter(strSQL, strConn) Dim tbl As New DataTable() da. Fill(tbl) Dim aRows As DataRowO Dim row As DataRow aRows = tbl. Select("Country = 'USA' AND City<>'Seattle'") For Each row In aRows Console. WriteLine(row("CompanyName") & " " & rowf'City") i „ " - " & rowC'Country")) Next row Visual C#.NET string strConn, strSQL; strConn = "Provider=SQLOLEDB;Data Source=(local)\\NetSDK;" + "Initial Catalog=Northwind; Trusted_Connection-Yes;"; strSQL = "SELECT CustomerlD, CompanyName, ContactName, " + "Phone, City, Country FROM Customers"; OleDbDataAdapter da = new OledbDataAdapter(strSQL, strConn); DataTable tbl = new DataTable(); da. FIll(tbl); DataRow[] aRows = tbl. SelectC'Country = 'USA' AND City<>'Seattle'"); foreach (DataRow row in aRows) Console. WriteLine(row["CompanyName"] + " - " + row["Clty"] + " - " + row["Country"]); Поиск по шаблону ADO. NET позволяет искать ряды по шаблону. Следующий SQL-запрос возвращает список клиентов, значение поля CustomerlD которых начинается с буквы Л. SELECT CustomerlD, CompanyNante, ContactName, Phone FROM Customers WHERE CustomerlD LIKE 'АГ В начало или конец строки поиска можно добавлять символы шаблона % и *. Так, этот запрос возвращает список клиентов из Нью-Хэмпшира (New Hampshire), Нью-Джерси (New Jersey), Нью-Мехико (New Mexico) и Нью-Йорка (New York): strFilter = "State LIKE 'New %'Следующий запрос вернет список клиентов из Северной и Южной Дакоты (Dakota): strFilter = "State LIKE 'K DakotaОдносимвольные шаблоны типа ? и _ в ADO. NET не допускаются.

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


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

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

Метео

Войти

Голосование

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

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

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