Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

Передать запрос на сервер в строковой переменной.. или как лучше?   Найти похожие ветки 

 
Denisiy   (2004-11-08 17:34) [0]

Есть анкета с очень большим количеством полей для заполнения. После заполнение нужно передать данные на сервер.
Варианты:  
1) передать в ХП с большим количеством параметров (выходит более 30)
2) сформировать текст запроса в клиентском приложении и передать его на сервер в переменной (если так можно). Если формировать запрос на клиенте - то он будет гораздо меньше, т.к. многие параметры могут быть опущены при заполнении и вносить их в базу не обязательно.

Вопрос:
1) можно ли, собственно, передать запрос в строковой переменной на сервер и там его выполнить?
2) имеет ли смысл вообще этим заниматься, или лучше реализовать это при помощи ХП?


 
сергей1   (2004-11-08 18:09) [1]

?

если надо занести в несколько таблиц, то ХП лучше

если таблица одна, то и без хп можно


 
Nikolay M. ©   (2004-11-09 10:12) [2]

Если суммарная длина данных гарантированно меньше 8000, можно передавать XML-ем через VARCHAR(8000).
А в ХП делать SP_XML_PREPAREDOCUMENT, OPENXML, SP_XML_REMOVEDOCUMENT.


 
Explorer   (2004-11-09 22:02) [3]

Nikolay M. ©
А какие плюсы от использования XML в храним. процедурах?
И что такое "длина данных гарантированно меньше 8000"?


 
Nikolay M. ©   (2004-11-09 23:12) [4]


> Explorer   (09.11.04 22:02) [3]
> Nikolay M. ©
> А какие плюсы от использования XML в храним. процедурах?

Вообще - зависит от обстоятельств. В данном конкретном случае, когда многие из параметров могут быть опущены, просто удобно.


> И что такое "длина данных гарантированно меньше 8000"?

Это значит, например, что если означенные 30 параметров - строки и каждая из них не может быть длиннее 10 символов, то суммарная длина всей анкеты гарантированно занимает не более 300 символов.


 
Denisiy   (2004-11-11 17:37) [5]

Так а основной вопрос: есть ли возможность выполнить на сервере запрос, переданный в обычной строковой переменной?  - ответит кто-нибудь?

 RTFM уж хоть скажите :))))


 
Ega23 ©   (2004-11-11 18:18) [6]

Так а основной вопрос: есть ли возможность выполнить на сервере запрос, переданный в обычной строковой переменной?  - ответит кто-нибудь?


Конечно есть.


print  "S_Search- процедура форомирования выборок по входным параметрам"
/*"Пример:
exec S_Search @ActNam ="PERSID",....
*/
go
if exists (select * from sysobjects where id = object_id(N"[S_Search]") and OBJECTPROPERTY(id, N"IsProcedure") = 1)
drop procedure [S_Search]
GO
CREATE PROCEDURE S_Search
....
@SQLMain varchar (8000),
.....
AS

if @Debug<>-1 print @SqlMain else exec(@SqlMain)

GO


 
Nikolay M. ©   (2004-11-11 18:55) [7]


> Denisiy   (11.11.04 17:37) [5]
> Так а основной вопрос: есть ли возможность выполнить на
> сервере запрос, переданный в обычной строковой переменной?
>  - ответит кто-нибудь?

Угу. Для этого есть компоненты наподобие ADOQuery, например.
Какой смысл формировать на клиенте строку запроса, передавать ее в ХП на сервер и исполнять этот запрос из ХП?


>  RTFM уж хоть скажите :))))

RTFM
:)



Страницы: 1 вся ветка

Текущий архив: 2004.12.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
9-1091606822
Ландграф Павел
2004-08-04 12:07
2004.12.12
поиск пути не по клеткам...


14-1100882555
StellMan
2004-11-19 19:42
2004.12.12
Скока платят модераторам


1-1101596392
Lelik
2004-11-28 01:59
2004.12.12
Открытие файла


14-1100769647
ИМХО
2004-11-18 12:20
2004.12.12
Горький жизненный опыт...


3-1100590139
dron-s
2004-11-16 10:28
2004.12.12
По строчное выделение в таблице