powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с ibase.h
7 сообщений из 7, страница 1 из 1
Помогите с ibase.h
    #32445559
fura13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте. Начну сразу с куска кода.
char *str_stmt = "execute procedure LOG_POLLING1";
isc_dsql_prepare(status_vector, &tr_handle, &stmt, 0, str_stmt, 1, NULL );
isc_dsql_describe_bind(status_vector, &stmt, 1, isqlda);
isc_dsql_execute(status_vector, &tr_handle, &stmt, 1, isqlda);
Естественно сдезь опущенно много : коннект, транзакция, и много всяких проверок. Но смысл( или моя возможная ошибка) как, я считаю заключается в этих строчках. Проблема вот в чем : isc_dsql_describe_bind присваивает isqlda->sqld 0 . Т.е. если я не ошибаюсь это значит что в процедуре LOG_POLLING1 нет полей, хотя там 4 поля. Кто-нибудь сталкивался с такой проблемой? Или может кто-то знает в чем тут может быть дело?
...
Рейтинг: 0 / 0
Помогите с ibase.h
    #32445605
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты перепутал isc_dsql_describe_bind() и isc_dsql_describe().
Первое нужно для параметров , а для данных, возвращаемых из SELECT, нужно второе.
...
Рейтинг: 0 / 0
Помогите с ibase.h
    #32445634
fura13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм... с SELECT'ом и с isc_describe_bind'ом я разобрался. Все работает. Делал запрос "select * from give_pol" все получилось. Вопрос в том как передать данные хранимой процедуре. Еще раз повторяю : execute procedure LOG_POLLING1 . Мне нужно хранимой процедуре передать параметры, и если я не ошибаюсь то ф-ция isc_dsql_describe_bind именно и подготавливает XSQLDA для передачи данных(т.е. заполняет все поля). Но трабла в том что кол-во полей определенных bind'ом 0. Или я что-то напутал? Я новичок в этом поэтому могу ощибаться.
...
Рейтинг: 0 / 0
Помогите с ibase.h
    #32445641
fura13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ой ,извиняюсь... поправка в первом предложении... не с isc_dsql_describe_bind'ом а с isc_dsql_describ'ом
...
Рейтинг: 0 / 0
Помогите с ibase.h
    #32445642
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты сколько аллокировал xsqlvar ?
Чему равен sqln ?
...
Рейтинг: 0 / 0
Помогите с ibase.h
    #32445775
fura13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все !!! нашел решение : привожу кодом так как сильно тороплюсь. Кому надо разбрется.
isc_stmt_handle stmt = NULL;
char *str_stmt ;
int f1 = 1,f2 = 2,f3 = 3;
double d = 13.4;
sprintf(str_stmt, "execute procedure LOG_POLLING1( %d, %d, %d, %lf)", f1, f2 ,f3 ,d);

isc_dsql_allocate_statement(status_vector, &db, &stmt);
isc_dsql_prepare(status_vector, &tr_handle, &stmt, 0, str_stmt, 1, NULL );

cout << "Execute : " << str_stmt << "...\n";
isc_dsql_execute(status_vector, &tr_handle, &stmt, 1, NULL);
+ естесвенно attach , start_transaction , commit и detach.
...
Рейтинг: 0 / 0
Помогите с ibase.h
    #32445781
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКому надо разбрется
Дык кроме тебя, наверное никому и не надо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с ibase.h
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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