Как связать результаты запроса SQL с панелью навигации с помощью VB.NET? - PullRequest
2 голосов
/ 21 ноября 2011

У меня есть базовый вопрос об использовании базы данных с Visual Basic. Я использую соединение OleDb. Я перетащил окна редактирования из представления DataDource. Это автоматически размещает таблицу навигации бар на форме. Когда я запускаю его, это работает нормально. Однако я хочу иметь возможность искать в таблице с помощью оператора SQL. Как я могу подключить результаты запроса SQL к панели навигации, чтобы окна редактирования автоматически принимают значения записи без необходимости назначить каждое текстовое поле вручную?

Большое спасибо.

1 Ответ

0 голосов
/ 22 ноября 2011

Этот небольшой фрагмент, кажется, работает, хотя вам нужно указать столбцы Sort для вашей таблицы, и если вы хотите сортировать по нескольким полям, то при вызове Find вы передаете массив типов Object (), соответствующих значениям вы ищете (в порядке значений сортировки. Дайте мне знать, если это работает для вас или у вас есть какие-либо вопросы по этому поводу.

'**** Sample table structure for Database1Dataset.Table1
'   Col1        Col2        Col3
'(row)  "Row1.Col1" "Row1.Col2" "Row1.Col3"
'(row)  "Row2.Col1" "Row2.Col2" "Row2.Col3"
'(row)  "Row3.Col1" "Row3.Col2" "Row3.Col3"

Dim dv As DataView = Me.Database1DataSet.DefaultViewManager.CreateDataView(Database1DataSet.Table1)
dv.Sort = "Col1"

Me.Table1BindingNavigator.BindingSource.Position = dv.Find("Row2.Col1")

Вот пример с несколькими столбцами сортировки

Dim dv As DataView = Me.Database1DataSet1.DefaultViewManager.CreateDataView(Database1DataSet1.Table1)
Dim FindValues(1) As Object

dv.Sort = "Col1,Col3"

FindValues(0) = "Row2.Col1"
FindValues(1) = "Row2.Col3"

Me.Table1BindingNavigator.BindingSource.Position = dv.Find(FindValues)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...