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


Сортировка, поиск, фильтрация

Индекс материала
Сортировка, поиск, фильтрация
Страница 2
Страница 3

Возможности поиска и фильтрации объекта DataTable Объект DataTable предоставляет два метода для поиска данных по заданному критерию. Первый метод. Find, позволяет искать записи по значениям первичного ключа. Второй, Select, выступает скорее в качестве фильтра, возвращая ряды данных, удовлетворяющие более гибким критериям поиска. Поиск записи по значениям первичного ключа При запросах к БД часто требуется получить конкретную запись данных, основываясь на значениях ее полей первичного ключа и используя запрос, аналогич ный следующему: SELECT CustomerlD, CompanyName, ContactName, Phone FROM Customers WHERE CustomerlD = 'ALFKI' Объект DataRow тоже можно искать в объекте DataTable по значениям первичного ключа записи. Вероятно, вы заметили, что последний фрагмент кода в главе 7 просматривал результаты запроса и должен был определить, есть ли определенный ряд данных в объекте DataTable. В том коде использовался метод Find для поиска в содержимом DataTable по значению первичного ключа.

Несмотря на то, что метод Find предназначен для объектов DataTable, его предоставляет класс DataRowCollection. Метод Find принимает объект, содержащий значение первичного ключа искомой записи. Поскольку значения первичного уникальны, метод Find вернет не более одного объекта DataRow. Следующий фрагмент кода ищет клиента по его значению первичного ключа и затем определяет, найдена ли запись.

Visual Basic. NET Dim strConn, strSQL As String strConn = "Provider=SQLOLEDB;uata Source=(local)\NetSDK;" & "Initial Catalog=Northwind;Trusted_Connection=Yes;strSQL = "SELECT CustomerlD, CompanyName, ContactName, Phone " & "FROM CustomersDim da As New OleDbDataAdapter(strSQL, strConn) Dim tbl As New DataTable() da. Fill(tbl) tbl. PrimaryKey = New DataColumn() {tbl.

Columns("CustomerID")} Dim row As DataRow = tbl. Rows. Find("ALFKI") If row Is Nothing Then Console. WriteLine("Row not found!") Else Console. WriteLine(row("CompanyName")) End If 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 " + "FROM Customers"; OleDbDataAdapter da = new OleDbDataAdapter(strSQL, strConn); DataTable tbl = new DataTable(); da.

Fill(tbl); tbl. PrimaryKey = new DataColumn[] {tbl. Columns["CustomerID"]}; DataRow row = tbl. Rows. FindC'ALFKI"); if (row == null) Console.



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


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

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

Метео

Войти

Голосование

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

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

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