powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Параметры в хранимой процедуре
8 сообщений из 8, страница 1 из 1
Параметры в хранимой процедуре
    #32043767
WASP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь написать хранимую процедуру на С, и мне надо передать в неё целочисленный параметр. Но функция srv_paramtype всегда выдаёт fals. Ежели подаю число как строку, то она намано показывает SRVVARCHAR. И что же делать ? Мне надо шоб параметр был именно целочисленный.
...
Рейтинг: 0 / 0
Параметры в хранимой процедуре
    #32043834
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
srv_paramtype оставлена только для обратной совместимости и следует использовать вместо нее srv_paraminfo. Не знаю, может ли это быть причиной неправильного отображения, или это ошибка в вашем коде. Посмотрите среди стандартных примеров xp_param, у меня он отлично показывает и строковый тип и целочисленный.
...
Рейтинг: 0 / 0
Параметры в хранимой процедуре
    #32043877
WASP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может сможешь и с этим помочь - после запроса, пытаюсь получить значение поля
DBINT Mac_key;
Mac_key = *((DBINT*)dbdata(dbproc2, 1));
и подставляю его в другой запрос
dbfcmd(dbproc, "select * from ... where key_id=%ld",Mac_key);

Запрос не возвращает ни одной записи (((. Когда вставляю значение в текст запроса вручную - всё O'k
...
Рейтинг: 0 / 0
Параметры в хранимой процедуре
    #32043885
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример ваять лень, но навскидку могу предположить, что key_id=%ld - это фигня какая-то, потому что в BOL в описании dbfcmd нет %ld. Может, ты %d имел в виду? Ну и совсем уж наивное предложение - в отладчике посмотри, чему равно Mac_key непосредственно перед выполнением dbfcmd. Действительно ли тому, что ты ожидаешь?
...
Рейтинг: 0 / 0
Параметры в хранимой процедуре
    #32043910
WASP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я и %d пробовал - одинаково ((. Создал консольное приложение и посмотрел...

Mac_key = *((DBINT*)dbdata(dbproc2, 1));
После этого в Mac_key помещается какое-то число, неизвестно откуда взятое и на протяжении перебора записей оно не меняется (((. В этом вся затыка. Естественно, что потом другие запросы не работают. Вобщем, вместо значений полей, в переменные помещается какая-то ерунда (((. Я уже всё перепробовал, хелп весь перечитал раз 30 (((
...
Рейтинг: 0 / 0
Параметры в хранимой процедуре
    #32043915
Rom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbdata - это что, XP ?
...
Рейтинг: 0 / 0
Параметры в хранимой процедуре
    #32043921
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую

Вы уверены в том, что предшествующий вызову dbdata(...) код работает
правильно? Например, проверяется ли результат работы dbsqlexec, dbresults?

Удачи
...
Рейтинг: 0 / 0
Параметры в хранимой процедуре
    #32043925
WASP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, всё нормально. И количество записей совпадает... Но я кажется разобрался что к чему. ruki.sys забыл подключить (((. Я не посмотрел, что поле имеет тип NUMERIC. И если DBINT не что иное как int, то DBNUMERIC - структура ))). И естественно мне в Mac_key прога честно записывала значение первого поля этой структуры
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Параметры в хранимой процедуре
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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