Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
3-1100510736
Брат
2004-11-15 12:25
2004.12.12
Создание кросс-отчета


8-1094583160
bulanov
2004-09-07 22:52
2004.12.12
Как скопировать часть рисунка


3-1100253177
Дырчик
2004-11-12 12:52
2004.12.12
Отображение поля в DBGride


14-1100883215
Torry
2004-11-19 19:53
2004.12.12
Интервью на "Королевстве Дельфи"


14-1101327543
Ig
2004-11-24 23:19
2004.12.12
InterBase в Delphi//





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский