|
|
|
передаю различное количество параметров и -> непонимаю как это обработать корректно
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Всем программистам привет! Respect! Столкнулся с одной проблемкой, в общем суть такова: формирую динамически массив, состоящий из элементов в диапазоне [1..9](т е количество варьируется и за ранее неизвестно, но максимум может быть девять элементов). Это айдишники некой таблицы на сервере типа GUID. Теперь из клиента я вызываю библиотечную фунцию типа : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. и как видно, что один из параметров это массив SqlParameters. Допустим я сформирую массив параметров на клиенте и передам в эту функцию. Данная функция их обработает и необходимо запустить нужную ХП на сервере( запрос должен как я понимаю быть типа SELECT UID, IMAGE FROM TABLE WHERE UID IN ( ...,...,...,...,... ) ). Я не совсем понимаю, каким образом мне необходимо написать ХП на сервере, чтоб все корректно обрабатывалось при различном количестве переданных параметров. Подскажите как быть то? P.S. я понимаю, что все прекрасно можно написать на клиенте, т е сформировать запрос, но может быть есть возможность реализовть так как я задумал. Если нет, то все будет реализовано на клиенте причем не прибегая к параметризированным запросам, что не есть гуд. Буду признателен за все идеи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2007, 17:39 |
|
||
|
передаю различное количество параметров и -> непонимаю как это обработать корректно
|
|||
|---|---|---|---|
|
#18+
Массивы и Списки в SQL Server . Для других типов серверов чтонить похожее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 08:59 |
|
||
|
передаю различное количество параметров и -> непонимаю как это обработать корректно
|
|||
|---|---|---|---|
|
#18+
Код: plaintext да, thank's buser за инфу, сейчас внимательно поизучаю/почитаю:). Respect! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 09:02 |
|
||
|
передаю различное количество параметров и -> непонимаю как это обработать корректно
|
|||
|---|---|---|---|
|
#18+
Код: plaintext В общем поразбирался, там примеры для интов и стрингов и в общем сделал я немного все попроще. В общем написал процедурку на сервере такого плана: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В общем у меня на шарпе есть некая функция: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. как видно из этой функции, параметры формируются динамически(так можно, так как их всего будет максимум 9). Сама хранимка вызывается непосредственно из библиотке типов,через функцию GET_DATA_FROM_DATAREADER. Все таки приведу ее код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. P.S. если что нибудь непонятно, то все до мелочей расакажу. Буду очень, очень признателен за любую помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 15:57 |
|
||
|
передаю различное количество параметров и -> непонимаю как это обработать корректно
|
|||
|---|---|---|---|
|
#18+
у вас в процедуре только 1 входной параметер, а вы туда загружаете много ну и надо чтобы в этом 1 параметре уходило что то типа '7560DB3F-EADD-412A-A25D-2B70C11BF557', '1949F4A0-A3FD-4F58-AE4D-E2873DB78872', ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 16:25 |
|
||
|
передаю различное количество параметров и -> непонимаю как это обработать корректно
|
|||
|---|---|---|---|
|
#18+
Код: plaintext _logic_надо чтобы в этом 1 параметре уходило что то типа '7560DB3F-EADD-412A-A25D-2B70C11BF557', '1949F4A0-A3FD-4F58-AE4D-E2873DB78872', ... именно это. Как видите, передаются идентификаторы GUID, пока что в этом вся проблема:). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 16:30 |
|
||
|
передаю различное количество параметров и -> непонимаю как это обработать корректно
|
|||
|---|---|---|---|
|
#18+
Код: plaintext конечно же можно сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 16:37 |
|
||
|
передаю различное количество параметров и -> непонимаю как это обработать корректно
|
|||
|---|---|---|---|
|
#18+
FasterHarder именно это. Как видите, передаются идентификаторы GUID, пока что в этом вся проблема:). это был не вопрос еще раз, вы передаете много параметров Код: plaintext 1. 2. 3. 4. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 16:59 |
|
||
|
передаю различное количество параметров и -> непонимаю как это обработать корректно
|
|||
|---|---|---|---|
|
#18+
Код: plaintext _logic_это был не вопрос еще раз, вы передаете много параметров foreach (SqlParameter tempLoopVar_ParamTemp in Param) { sql_parm = tempLoopVar_ParamTemp; sql_cmd.Parameters.Add(sql_parm); } а надо передать только один @LID NVARCHAR(400) да еще и тип его строковый (грубо говоря), делайте выводы ... да спасибо за направление и идею. Все получил что хотел. RESPECT! TOP CLOSE! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2007, 18:09 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34706761&tid=1352673]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 299ms |

| 0 / 0 |
