![]() |
:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки :: | ![]() |
![]() |
Л и с о в о д ы в с е х с т р а н, о б ъ е д и н я й т е с ь !!! |
Как передать параметры в хранимую процедуру сервера | ||
---|---|---|
Вопрос
В пользовательской форме были сформированы некоторые значения. Как передать эти сформированные значения в качестве параметров в хранимую процедуру сервера? Ответ Для передачи значения как параметра в синтаксисе FoxPro используется вопросительный знак.
Все то, что следует за символом вопросительного знака до первого пробела или запятой - это параметр. Конвертация в тип, понятный SQL-серверу произойдет автоматически. Никаких дополнительных преобразований делать не надо. В качестве параметра можно использовать не только переменные памяти, но и поля таблицы и объекты формы. Обратите внимание на тот факт, что конвертация в тип, понятный SQL-серверу произойдет автоматически. Однако следует иметь в виду, что при определенных условиях подобной автоматизм может вызвать некоторые проблемы. Например, для MS SQL сервера переменные памяти с дробной частью будут сконвертировны в тип REAL, что может привести к потере точности. Вместо точного значения 1.1 сервер интерпретирует это значение, как приближенное 1.0999999. В большинстве случаев - ничего страшного. Однако иногда это может иметь принципиальное значение. Поэтому, если Вам необходимо передать данные "как есть", то придется самостоятельно формировать символьную строку.
Замечание Если Вы формируете символьную строку самостоятельно, то предварительно уточните как именно записываются константы разных типов в синтаксисе того или иного сервера. Например, для MS SQL сервера символьная константа, по умолчанию, обрамляется одинарными кавычками. Двойными кавычками обрамляются имена объектов. Поэтому символьная константа обрамленная двойными кавычками может вызвать сообщение о синтаксической ошибке. Константа типа Date или DateTime также может записываться разными способами. Хотя, универсальный формат, который понимают большинство серверов - это символьная строка вида 'ГГГГММДД'. Т.е. дата 6 января 2010 года должна быть записана как '20100106' Исправлено 1 раз(а). Последнее : Владимир Максимов, 06.01.10 15:46 ![]() |
||
Тема | Просмотров | Написано | Написано |
---|---|---|---|
![]() |
6230 | Владимир Максимов | 24.02.06 18:19 |
![]() ![]() |
7526 | Владимир Максимов | 24.02.06 18:42 |
![]() ![]() |
7054 | Владимир Максимов | 24.02.06 19:13 |
![]() ![]() |
7099 | Владимир Максимов | 24.02.06 19:33 |
![]() ![]() |
7644 | Владимир Максимов | 24.02.06 19:44 |
![]() ![]() |
7407 | Владимир Максимов | 24.02.06 19:57 |
![]() ![]() |
6632 | Владимир Максимов | 24.02.06 20:11 |
![]() ![]() |
6681 | Владимир Максимов | 06.01.10 16:39 |
© 2006 Fox Club  |