Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / DataSet , как фильтровать записи по двум полям? / 7 сообщений из 7, страница 1 из 1
17.03.2004, 08:49
    #32444687
# Darth Vader #
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSet , как фильтровать записи по двум полям?
Надо фильтровать данные в одной таблице по всем 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
17.03.2004, 08:54
    #32444691
# Darth Vader #
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSet , как фильтровать записи по двум полям?
Тьфу ты ,забыл End with поставить!

Заработало.

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

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

ds.Tables("Rt")

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

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

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

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

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

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

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

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


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