Главная страница
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.035 c
14-1101333145
Труп Васи Доброго
2004-11-25 00:52
2004.12.12
Citrix


4-1099076434
Redhopter
2004-10-29 23:00
2004.12.12
О перехвате сообщений


3-1100435214
Алексей
2004-11-14 15:26
2004.12.12
красивый DBGrid


14-1100695078
ms
2004-11-17 15:37
2004.12.12
Помогите разобраться с VC++ .NET...


4-1098804856
dms_main
2004-10-26 19:34
2004.12.12
Потоки. Waitfor.