Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Фильтровка данных на сервере. / 12 сообщений из 12, страница 1 из 1
22.03.2004, 14:46
    #32451493
Nir
Nir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
Здраствуй уважаемый ALL.

Вот перехожу на .Net, пока правда не очень получается, может кто поспособствует мудрым советом.

Итак!
Есть: VB.Net, ADO.Net, БД на MSSQL2000, типизированный датасет, Адаптер, View и СП по 1 шт. (огрубляю конечно) так вот, задача какая надо на форму вытащить всего одну запись вида или СП (они практически одинаковые, только соответственно п Сп параметры для фильтрации), но с СП вариант вроде не очень удобный получается т.к. необходимо будет придумывать еще и команды UPDATE, INSERT, DELETE а хотелосьбы что-нибудь более автоматическое, а вид получается тащит все записи, а их там много, во!

Что придумать не знаю, но в тексте програмы создавать SQL текст это не выход, потому как, должна быть четкая возможность исправлять SQL часть (минимальные правки) без изменения клиента.

Кто, что подскажет, господа професионалы?
...
Рейтинг: 0 / 0
22.03.2004, 15:14
    #32451556
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
Если тебе надо одну запись то нет смысла применять DataAdapter, DataSet, DataTable и другую прослойку.

Возможны два (это самые быстрые варианты)
1) Использование SQLCommand и выходных параметров хранимой процедуры
2) Использование SQLDataReader и SQLCommand(ExecuteReader)(кстати DataAdapter также использует SQLDataReader только не многие об этом знают)

Оба варианта предполагают использование хранимых процедур, которые позволят абстрагироваться от клиентского кода,

P.S. Похорошему и типизированной DataSet здесь лишнее, если хочется большей гибкости и независимости клиента.
...
Рейтинг: 0 / 0
22.03.2004, 15:16
    #32451562
Nir
Nir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
2 Sa гибкость тело хорошее, но так как это далеко не еденичный случай хочется, что бы это было гдето за фоном, это раз, а во вторых насколько я понял Datareader не сожет обновлять, а только считывает данные!
...
Рейтинг: 0 / 0
22.03.2004, 15:25
    #32451582
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
Ну если речь идет об ОДНОЙ записи, которую надо получать с сервака а потом заливать обратно изменения.
То оптимальный выбор SQLCommand и входные, выходные параметры хранимой процедуры.

Но учитывай что я говорю про самые быстрые способы, если же полей очень много (был у меня такой 99 записей) то может быть просто не удобно создавать ВСЕ параметры к комманду ,
и тогда в ущерб производительности можно использовать aдаптер.

В чем конкретно у тебя проблема?
...
Рейтинг: 0 / 0
22.03.2004, 15:33
    #32451598
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
>был у меня такой 99 записей)
читать как 99 полей.

Вообще процесс добавления параметров к SQLCommandу можно упростить с использованием объекта Row.
...
Рейтинг: 0 / 0
22.03.2004, 15:34
    #32451599
Nir
Nir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
Ну общий смысл такой, хочется использовать ДА, вот только как заставить его грузить не все записи из таблицы(вида) а с фильтровкой на стороне сервера.
Command это конечно выход, но я морально не готов к таким решениям, слишком привык к ADO и всяким Accessам!
...
Рейтинг: 0 / 0
22.03.2004, 15:37
    #32451603
Nir
Nir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
2 Sa да не там максимум 20 полей, но я просто из той серии, что чем меньше написал рукам оновление и добовление тем меньше ошибок, потому как именно это самые проблемные места, покрайней мере для меня, а все остальное можно и руками, лишь бы не обновление и добавление!
...
Рейтинг: 0 / 0
22.03.2004, 15:49
    #32451639
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
Ну стандартного метода связанный с фильтрацией на стороне сервера в ADO.NET я не встречал (99.9% что такого нет) .
Ведь даже порционный Fill (класса SQLDataAdapter) все равно закачивает все записи а потом херачит их на стороне клиента.

Я в твоем случае сделал бы хранимые процедуры на Update, Insert, Delete, Select. А в хранилках можно как угодно организовать фильтрацию данных.

Я так понял вам надо что то подобное server-side cursor в ADO?
...
Рейтинг: 0 / 0
22.03.2004, 15:59
    #32451659
Nir
Nir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
2 Sa Скорее serverfilter
...
Рейтинг: 0 / 0
22.03.2004, 16:04
    #32451674
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
Как вариант вы можете использовать ADO как COM объект.
А у OleDbDataAdapter есть метод Fill который способен преобразовывать ADOвский RecordSet в NETовский DataSet.

Но как это все будет в реалии я не скажу так как лично в подобных случаях прибегаю к способу описанному мной выше.
...
Рейтинг: 0 / 0
22.03.2004, 16:41
    #32451728
Nir
Nir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
Есть конечно еще один обходной маневр: сделать табличку в каторую перед загрузкой кинуть фильтровочное значение чтоб потом его использовоть в виде, но я чесно говоря опосаюсь такого варианта, может кто скажет по этому поводу что-нибудь.
...
Рейтинг: 0 / 0
22.03.2004, 19:35
    #32451984
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фильтровка данных на сервере.
>Есть конечно еще один обходной маневр: сделать табличку в каторую перед загрузкой кинуть фильтровочное значение чтоб потом его использовоть в виде, но я чесно говоря опосаюсь такого варианта, может кто скажет по этому поводу что-нибудь.

А я не вижу смысла в таких обходных маневрах. Проще для фильтрации поставить WHERE в SELECTе. Конечно если вы опишите структуры таблиц, примерные данные, наличие идентификаторов, критерий фильтрации и т.д можно сказать что то более конкретно.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Фильтровка данных на сервере. / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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