Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 6
1

Хранение набора результатов запроса на стороне клиента

10.10.2012, 16:31. Показов 965. Ответов 4
Метки нет (Все метки)

Как правильно реализовать сабж?

В ADODB у RecordSet было свойство CursorLocation, задав которому соответствующее значение можно было сделать так, что Execute одним махом выгребал все данные запроса в объект RecordSet и соединение с SQL-сервером становилось доступным для выполнения следующих запросов, в то время как в RecordSet все данные оставались доступными и можно было их считывать.

В дотнетовском же неймспейсе System.Data.SqlClient полученный в результате выполнения SQL-запроса объект SqlDataReader делает невозможным пользоваться соединением (совершать другие запросы), пока не будет закрыт. Даже если сделать несколько разных SqlCommand со ссылкой на одно и то же соединение, ни один из этих объектов не может выполнять команду, пока текущий открытый в одном из них SqlDataReader не будет закрыт.

Я, конечно, могу просто сохранить сразу все данные из SqlDataReader в какой нибудь List<MyDataRecordStruct> и закрыть ридер, а потом уже пользоваться этими сохраненными данными, но хотелось бы обойтись без изобретения велосипедов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2012, 16:31
Ответы с готовыми решениями:

Хранение данных на стороне клиента. LocalStorage
Друзья, подскажите, что не так в моем коде? Захожу на страницу, а изменяет только цвет текста....

Хранение данные из формы на стороне клиента т.е WebSQL/
Нужно сохранить данные из формы в браузере(WebSQL), как это сделать помогите пж! Вот сама форма: ...

Хранение данных (в том числе файлов) на стороне клиента
Подскажите, можно ли как-нибудь реализовать, допустим есть сайт, на нем много картинок (каждый раз...

Вычитание результатов одного запроса из результатов другого
Есть 2 запроса,подскажите возможно ли вычесть одно из второго

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
4
9 / 9 / 5
Регистрация: 08.10.2012
Сообщений: 48
10.10.2012, 17:56 2
используй DataSet, загрузи данные в него через DataAdapter
0
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 6
11.10.2012, 12:57  [ТС] 3
Спасибо. DataSet похоже действительно то, что нужно.

Добавлено через 17 часов 23 минуты
А нет ли какой-нибудь готовой вещи в дотнете наподобие DataAdapter, которая может заполнять поля заданной пользователем структуры или объекта из DataRow или имплементации IDataRecord, осуществляя сопоставление названий полей и типов через рефлексию?

То есть, создал я структуру
C#
1
2
3
4
5
6
7
8
9
10
public struct MyDataStruct
{
  public int WorkerID;
  public string WorkerName;
  public DateTime HireDate;
};
 
...
       MyDataStruct obj;
...
и чтоб что-то заполнило поля obj значениями из соответствующих полей "WorkerID", "WorkerName" и "HireDate" из DataRow или IDataRecord, чтоб в дальнейшем пользоваться уже полями структуры без опасения опечататься в имени поля или ошибиться в приведении типа? Понятно, что для каждого подобного типа можно написать метод или конструктор, в котором такое заполнение осуществить ручками, но может есть уже готовое и сразу делающее это для любых типов через рефлексию?
0
Эксперт Java
4073 / 3807 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
11.10.2012, 22:42 4
Можно взять один из кучи готовых мапперов.
Я в одном из проектов использовал PetaPoco. Позволяет избежать написания ручного забивания полей. Результат может выдавать в виде списка (List<>).
0
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 6
12.10.2012, 15:01  [ТС] 5
turbanoff, спасибо
 Комментарий модератора 
Если какой-либо пост на форуме показался вам полезным, нажмите кнопку "Спасибо" внизу самого поста.(Правила п.3.6)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2012, 15:01

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Валидация на стороне клиента
Ребята, здравствуйте! Произвожу валидцию на стороне клиента. Нашел в интернете код:...

3d графика на стороне клиента
Здравствуйте. Я новичок в клиент-серверных технологиях, поэтому прошу совета, какие технологии мне...

Парсинг на стороне клиента
Возможно ли спарсить значение на странице на стороне клиента (к примеру через JS)?? просто фишка в...

Валидация на стороне клиента
Подскажите, пожалуйста, как правильно оформить валидацию на стороне клиента. У меня есть суммарная...

Hash pass на стороне клиента
hash pass на стороне клиента, нужно ли? Какой скрипт порекомендуете?(библиотеки не предлагать)

Валидация checkBox на стороне клиента
Ребят хелп. Мне нужно чтобы на страничке был чекбокс, который обязателен к заполнению (отмечен) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.