powered by simpleCommunicator - 2.0.34     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataSet , как фильтровать записи по двум полям?
7 сообщений из 7, страница 1 из 1
DataSet , как фильтровать записи по двум полям?
    #32444687
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо фильтровать данные в одной таблице по всем 6 полям, сделал фильтр по одному полю , а по второму идет ругань на DataSet

Вот код

Соединение с базой (проходит нормально)

Imports System.Data.OleDb


Dim conn As OleDbConnection
Dim ds As DataSet
Dim cmd As OleDbCommand
Dim ad As OleDbDataAdapter


conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\data.mdb")

conn.Open()

cmd = New OleDbCommand()

cmd.Connection = conn
cmd.CommandType = CommandType.Text
cmd.CommandText = "select * from rt"


ad = New OleDbDataAdapter()
ad.SelectCommand = cmd

ds = New DataSet()
ad.Fill(ds)

MsgBox("Данные загружены!")

Вот процедура фильтрации по полю fio

DataGrid1.DataMember = ""
DataGrid1.DataSource = Nothing

With ds.Tables(0)

.DefaultView.RowFilter = "fio like '" & TextBox1.Text & "%'"
.DefaultView.AllowDelete = False
.DefaultView.AllowEdit = False
.DefaultView.AllowNew = False
DataGrid1.DataSource = .DefaultView

Фильтрует нормально.

Сделал другое текстовое поле и в нем пишу тоже самое, только в выражении отбора ставлю соответственно

.DefaultView.RowFilter = "nomer like '" & TextBox2.Text & "%'"

И ругается на строку : With ds.Tables(0)

Что не так я делаю?
...
Рейтинг: 0 / 0
DataSet , как фильтровать записи по двум полям?
    #32444691
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тьфу ты ,забыл End with поставить!

Заработало.

Тогда задам другой вопрос.

Почему не могу обратиться к таблице в DataSet по имени.

ds.Tables("Rt")

Ошибку дает. Как обратиться по имени к таблице.

И еще , может достаточно использовать только OleDbConnection и DataSet чтобы добраться до данных в таблице? Только вот как?
...
Рейтинг: 0 / 0
DataSet , как фильтровать записи по двум полям?
    #32444744
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ad.Fill(ds)

здесь надо исправить

ad.Fill(ds, "имя таблицы")
...
Рейтинг: 0 / 0
DataSet , как фильтровать записи по двум полям?
    #32444746
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИ еще , может достаточно использовать только OleDbConnection и DataSet чтобы добраться до данных в таблице?
нет, не достаточно.
...
Рейтинг: 0 / 0
DataSet , как фильтровать записи по двум полям?
    #32444831
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо. Заработало.

Вот только я получил данные из таблицы. Мне надо заполнить комбобокс данными. Как это сделать?
В смысле как пройтись по каждой записи в таблице получив значение из поля?
...
Рейтинг: 0 / 0
DataSet , как фильтровать записи по двум полям?
    #32444934
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Мне надо заполнить комбобокс данными.

Для того чтобы заполнить ComboBox не обязателльно проходить по всем записям таблицы.

Достаточно задать свойства, например:

comboBox1.DataSource = dataSet1;
comboBox1.DisplayMember = "myDisplayColumn";
comboBox1.ValueMember = "myValueColumn";
...
Рейтинг: 0 / 0
DataSet , как фильтровать записи по двум полям?
    #32445137
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, работает.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataSet , как фильтровать записи по двум полям?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]