Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2015, 09:08   #1
Joose
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 67
По умолчанию Доступ к полям Recordset

Добрый день. Есть объект Recordset, в котором хранятся некоторые записи, в каждой из которых несколько полей. Есть ли у класса Recordset такое свойство, которое позволит получить ту строку (строки), в которых определенное поле имеет определенное значение? Например, в объекте Recordset хранятся записи с полями "Имя" и "Возраст". Мне нужно узнать индекс той строки, в которой в поле "Имя" хранится значение "Алексей". Конечно, можно заново обратиться к базе данных и создать новый объект Recordset, в котором будут только Алексеи, или же перебирать все строки из уже существующего Recordset'a и смотреть в какой из них хранится Алексей, но можно ли как-то сделать это по-проще?
Joose вне форума Ответить с цитированием
Старый 17.04.2015, 09:15   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Разве в ADO.NET есть такой объект?
Код покажите.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.04.2015, 09:49   #3
Joose
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 67
По умолчанию

Пардон, неверно поставил вопрос, нужно получать записи не из Recordset, а из DataTable, вот код:

Код:

ADODB.Recordset officers = new ADODB.Recordset(); 
DataTable dtb = new DataTable(); 
OleDbDataAdapter odb = new OleDbDataAdapter();

ADODB.Connection cnn = new ADODB.Connection();
cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = " + path_db + "; Persist Security Info = false";
cnn.Open();

string sqlRequest = "Некоторый запрос";
officers.Open(sqlRequest, f.cnn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic);
odb.Fill(dtb, officers);
Открываю базу данных (path_db - это путь к файлу *.accdb), делаю к ней запрос (не стал сюда писать ибо слишком длинный), заполняю DataTable из этой базы данных. Собственно, вопрос тот же - как достать запись из DataTable, которая в определенном столбце имеет определенное значение?
Joose вне форума Ответить с цитированием
Старый 17.04.2015, 10:16   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Есть DataView для фильтрации (свойство RowFilter), либо с помощью LINQ можно http://stackoverflow.com/questions/1...er-a-datatable
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.04.2015, 11:14   #5
Joose
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 67
По умолчанию

Спасибо большое
Joose вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к полям класса Pykhov Общие вопросы Delphi 1 20.04.2014 16:41
Доступ к полям класса -спискам zl@dey Общие вопросы C/C++ 1 31.03.2012 04:06
ADODB::Recordset - не могу разобраться с обращением к полученным полям данных Vit2010 C/C++ Базы данных 1 25.12.2011 11:22
доступ к полям GridView Алек Помощь студентам 0 23.12.2011 16:03
ADO recordset фильтр по нескольким полям zmeevolk Microsoft Office Access 0 28.04.2009 16:23