powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Затрудняюсь с решением
14 сообщений из 14, страница 1 из 1
Затрудняюсь с решением
    #32734202
PolarFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вот такая задачка:
Нужно в MS SQL передать разное количество параметров... Например есть справочник товаров кнопкой помечаем n-ное количество товаров и надо их передать в процедуру чтобы сделать выборку...
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734209
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что при выборе из справочника нельзя создать временную таблицу и добавлять в нее записи например ID товара ?
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734227
PolarFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuriWhiteА что при выборе из справочника нельзя создать временную таблицу и добавлять в нее записи например ID товара ?

Создать таблицу на сервере? А когда много пользователей? В принцепе как вариант можно, но мне кажется слишком как то неочень... Ведь отбор нужно будет использовать в разных процедурах, для разных пользователей...
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734229
Раз (1)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolarFoxразное количество параметров
Можно было бы генерить строку запроса динамически, но количество передаваемых параметров, как я понимаю, не ограничено?
PolarFoxсправочник товаров кнопкой помечаем n-ное количество товаров и надо их передать в процедуру
ИМХО, разумно было бы завести на сервере временную таблицу, поместить в нее коды помеченных параметров, и уже ее обрабатывать в ХП.
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734236
Раз (1)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз(1)коды помеченных параметров
Пардон, помеченных товаров
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734247
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2PalarFox
Читаем доку по MSSQL и о "#" модификаторе для создания имен таблиц...
create table #Table
создает для каждого юзера СВОЮ таблицу.
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734252
Раз (1)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolarFoxА когда много пользователей?
Например, своя временная таблица для каждого пользователя. Или одна большая временная таблица с полем-идентификатором пользователя.
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734279
PolarFox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да вот почемуто не лежит к душе решение с таблицей на сервере...Ладно, в принципе убедили. Сделаю потом посмотрим удобно ли с таблицей работать...
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734305
Фотография YuriWhite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolarFoxДа вот почемуто не лежит к душе решение с таблицей на сервере...Ладно, в принципе убедили. Сделаю потом посмотрим удобно ли с таблицей работать...
Слюшай ара :) Еще как удобно....
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734330
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через OPENXML
Glory где-то приводил пример в треде MSSQL
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734523
AiSK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри решение на http://www.caws.atnet.ru/vfox/sql3.html#sql_tabl_ref
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32734586
luser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не нужно на клиентской стороне ничего создавать.
Пишешь хранимаю процедуру на SQL или расширенную хранимую процедуру (если быстродействие важно) и просто обычным SQLEXEC ее вызываешь с передачей параметров. И Быстро и красиво. И результат вернет.
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32735313
Раз (1)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
luser
Пишешь хранимаю процедуру на SQL ... и просто обычным SQLEXEC ее вызываешь с передачей параметров. И Быстро и красиво.
Это вот так что ли?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE PROC sp_my_proc
  @param1 int ,
  @param2 int =  0  ,
  @param3 int =  0  ,
 -- <...> 
  @paramN int =  0 
AS
  SELECT
    *
  FROM
    table1
  WHERE
    table1.ID = @param1 OR
    table1.ID = @param2 OR
    table1.ID = @param3 OR
 -- <...> 
    table1.ID = @paramN OR
Это правда красиво? Или я чего-то не понимаю?
Параметров-то может быть сколько угодно, и что - каждый раз их в процедуре добавлять, или сразу 1024 создать (максимум для MS SQL 2000)? А если нужно будет больше чем 1024 товара пометить?
ИМХО, вариант Crip'а c XML - вот это действительно красиво.
...
Рейтинг: 0 / 0
Затрудняюсь с решением
    #32735334
Philin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А может лучше формировать строку из айдишников товаров через запятаю что-то врожде этого:
Код: plaintext
1.
2.
3.
4.
5.
CREATE PROC sp_my_proc
  @strparam char( 1000 ) ,
AS
 DECLARE @Query char( 4000 )
 SET  @Query = 'SELECT * FROM table1 WHERE table1.ID in ('+ @strparam+')'
 EXEC (@Query)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Затрудняюсь с решением
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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