Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Вопрос такой - имеется несколько таблиц (300 - одно изделие - одна таблица -структура у всех одинакова- SqlServer2000). Пользователь в зависимости от выбора должен грузить одну из таблиц. Как в этом случае поступить? Создавать 300 sqlDataAdapter-ов? Или можно с одним Адаптером параметрически (или через временную таблицу - присвоив ей какое-нибудь имя - на нее завязать Адаптер, и после изменений перенести в таблицу данного изделия, а "временную" очистить? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 19:50 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Адаптер, думаю, можно оставить один. А вот SelectCommand менять у него динамически в зависимости от выбора пользователя стоит. Я бы сделал одну хранимую процедуру, в которую передавал бы соотв. параметры. В процедуре динамический запрос (либо 300 однотипных селектов, разбитых по условию). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 20:01 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Сделал в Адаптере (Мастером) - selectCommand select a1,a2.... FROM @namefile , где @namefile - параметр(имя таблицы) - который передает юзер пишет ошибку, требует указать конкретную таблицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 20:23 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Правильно пишет. См. BOL (Books Online) на предмет синтаксиса SELECT в MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 22:55 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
1 BigheadmanАдаптер, думаю, можно оставить один. А вот SelectCommand менять у него динамически в зависимости от выбора пользователя стоит. Самое лучшее 2 BigheadmanЯ бы сделал одну хранимую процедуру, в которую передавал бы соотв. параметры. В процедуре динамический запрос Хуже 3 Bigheadman(либо 300 однотипных селектов, разбитых по условию). Лучше, чем 2, но более трудоемко, чем 1. Хотя иногда и лучше. Динамический SQL (в случае MSSQL) - зло, хотя и удобное зло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2004, 23:11 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
remotdВопрос такой - имеется несколько таблиц (300 - одно изделие - одна таблица -структура у всех одинакова- SqlServer2000). Вопрос, имхо, поставлен не верно. Если в базе 300 таблиц с совершенно одинаковой структурой, то надо думать не о том, как выгрузить их на клиента, а о том как нормализовать все это безобразие :-) Может стоит все триста таблиц объединить в одну? С форентом на первичный ключ списка изделий? Тогда выборка данных будет выглядеть так: Код: plaintext 1. 2. 3. 4. -- WBR, Roman S. Golubin ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 00:33 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Сделал по 1-му варианту. BigheadmanПравильно пишет. См. BOL (Books Online) на предмет синтаксиса SELECT в MS SQL. - ошибся. Исправил Объединить в одну таблицу все 300 изделий (в каждом до 1000 записей) - пока не готов. Сейчас работает под FoxPro 2.0 . Софт делал 12 лет назад под ДОС. Сейчас назрела необходимость перевести под Win. Всем спасибо. И еще такой вопрос. Имена таблиц числовые от 1 и далее, по синтакасу вроде бы как MSSQL запрещает имена не с буквы, в операторах вставил [...] - проходит, причем файлы .dbf импортировал DTS - отлично. Что же лучше, оставить имена таблиц такими или поменять с добавлением буквенного индекса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 01:07 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Предидущий вопрос, конечно, в другой форум, но раз тема одна... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 01:09 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
remotdОбъединить в одну таблицу все 300 изделий (в каждом до 1000 записей) - пока не готов. Триста тысяч записей - достаточно скромная табличка получится. Скрипт для объединения могу помочь написать :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 09:36 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
авторИмена таблиц числовые от 1 и далее, по синтакасу вроде бы как MSSQL запрещает имена не с буквы, в операторах вставил [...] - проходит Не запрещает, а как раз требует скобок в таких случаях. Если скобки не смущают, то оставьте. 2 Один1. Менять динамически запрос в SelectCommand хуже, чем хр. процедура с динамическим SQL тем, что у хр. процедуры лучше maintability. К тому же настоятельно рекомендуется там, где возможно, использовать хр. процедуры, а не явные запросы. Имеется в виду из приложения. Динамический SQL - зло лишь в неграмотных руках. Впрочем это касается любого инструмента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 11:12 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Bigheadman Менять динамически запрос в SelectCommand хуже, чем хр. процедура с динамическим SQL тем, что у хр. процедуры лучше maintability. К тому же настоятельно рекомендуется там, где возможно, использовать хр. процедуры, а не явные запросы. Имеется в виду из приложения. Динамический SQL - зло лишь в неграмотных руках. Впрочем это касается любого инструмента. Вот кстати, интересный вопрос когда лучше использовать явные запросы, а когда хр. проц. Как например с помощью хр. пр. реализвывать условие WHERE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 11:35 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
must read http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/daag.asp авторКак например с помощью хр. пр. реализвывать условие WHERE Не понял в чем проблема. :-( Может, на конкретном примере. Обычно условие WHERE пишется с использованием параметров, которые передаются из вызывающего приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 13:49 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Bigheadman авторКак например с помощью хр. пр. реализвывать условие WHERE Обычно условие WHERE пишется с использованием параметров, которые передаются из вызывающего приложения. В этом случае если у меня в таблице 20 полей, на любое из которых может быть наложено условие WHERE , предлагается передавать 20 аргументов и 20 имен полей. А если условие должно быть в интервале, то что тогда? Как вариант передавать в качестве параметра сформированное условие - но это еще хуже чем явно запрос вызвать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 14:01 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Serg**** В этом случае если у меня в таблице 20 полей, на любое из которых может быть наложено условие WHERE , предлагается передавать 20 аргументов и 20 имен полей. А если условие должно быть в интервале, то что тогда? Как вариант передавать в качестве параметра сформированное условие - но это еще хуже чем явно запрос вызвать. Не самый лучший вариант, но можно и так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 14:25 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Если просто 20 полей, то элементарно. От 20 параметров хр. процедура не загнется. Если на какое-то поле условие не нужно, то передаем NULL, а в условии пишем WHERE f1 = ISNULL(@f1, f1) С диапазонами сложнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 14:26 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
2 Por. ИМХО все же мой вариант более лаконичный. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 14:38 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
BigheadmanЕсли просто 20 полей, то элементарно. От 20 параметров хр. процедура не загнется. Если на какое-то поле условие не нужно, то передаем NULL, а в условии пишем WHERE f1 = ISNULL(@f1, f1) С диапазонами сложнее. А теперь в таблицу добавилось еще одно поле ... Так что заявление: BigheadmanМенять динамически запрос в SelectCommand хуже, чем хр. процедура с динамическим SQL тем, что у хр. процедуры лучше maintability несколько спорно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 15:22 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
авторА теперь в таблицу добавилось еще одно поле ... Ну и? Код приложения менять ведь при динамическом запросе придется. В случае хр. процедуры - совсем не факт (зависит от многих факторов). Одно из преимуществ хранимых процедур - доп. уровень абстракции и большие возможности по maintability. Так что лучше внимательно изучить guide от Майкрософт и возможности MS SQL. А потом выбрать то, что лучше подходит в конкретном случае. Хр. процедуры - не панацея, и я сам в некоторых случаях использую динамические запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 15:46 |
|
||
|
Подскажите, MSSQL - sqlDataAdapter - необходимо грузить сотню таблиц?
|
|||
|---|---|---|---|
|
#18+
Bigheadman авторА теперь в таблицу добавилось еще одно поле ... Ну и? Код приложения менять ведь при динамическом запросе придется. Это смотря как приложение написано. К примеру, бежим по всем контролам в которых условие вводится и формируем WHERE на лету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2004, 15:52 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32821263&tid=1437676]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 371ms |

| 0 / 0 |
