Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с fetch и isc_dsql_allocate_statement / 10 сообщений из 10, страница 1 из 1
18.05.2004, 09:07:43
    #32521400
alex777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
Привет всем,
Помогите пожалуйста с отправкой SQL к интербес серверу и главное с получением от него ответа в виде записей которые были выбраны при запросе


stat=isc_attach_database(status_vector, dbname.Length(),
dbname.c_str(), &dbhandle, dpb_len, &dpb[0]);
stat = isc_start_transaction(status_vector, &tr_handle, 1, &dbhandle, 0, 0);
char *str ="SELECT * FROM tst";
sel_sqlda = (XSQLDA ISC_FAR *) malloc(XSQLDA_LENGTH(1));
sel_sqlda->sqln = 1;
sel_sqlda->version = 1;
stat = isc_dsql_allocate_statement(status_vector,&dbhandle,&stmt_handle);
stat = isc_dsql_prepare(status_vector,&tr_handle,&stmt_handle,0,str,1,sel_sqlda);
sel_sqlda->sqlvar[0].sqldata = orig_name;
sel_sqlda->sqlvar[0].sqltype = SQL_TEXT;
sel_sqlda->sqlvar[0].sqllen = CURRENLEN;
stat = isc_dsql_execute(status_vector,&tr_handle,&stmt_handle,1,NULL);
while ((retcode = isc_dsql_fetch(status_vector,&stmt_handle,1,sel_sqlda)) == 0)
{
orig_name[CURRENLEN] = '\0';
}

Этот код производит выборку но Fetchит только 18 записей и благополучно их обрабатыевает, а при 19 Acces violation at adress **** read of adress *****(адрес тотже), если строк меньше 19 отрабатывется корректно.

Заранее благодарен

al@cps.nnoov.ru
...
Рейтинг: 0 / 0
18.05.2004, 09:23:23
    #32521415
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
а что есть orig_name?
...
Рейтинг: 0 / 0
18.05.2004, 09:35:18
    #32521436
alex777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
char orig_name[CURRENLEN + 1];
...
Рейтинг: 0 / 0
18.05.2004, 09:37:27
    #32521441
alex777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
забыл
#define CURRENLEN 10
...
Рейтинг: 0 / 0
18.05.2004, 09:52:39
    #32521465
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
ну мета код таблицы тогда покажи еще, что ли
...
Рейтинг: 0 / 0
18.05.2004, 10:02:51
    #32521495
alex777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
/* Extract Table TST */

/* Table: TST, Owner: SYSDBA */
CREATE TABLE TST (SOME_TEXT CHAR(1));
...
Рейтинг: 0 / 0
18.05.2004, 10:09:08
    #32521508
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
Код: plaintext
1.
2.
3.
4.
while ((retcode = isc_dsql_fetch(status_vector,&stmt_handle, 1 ,sel_sqlda)) ==  0 )
{
orig_name[CURRENLEN] = '\0';
}
в этом цикле точно ничего больше нет?
...
Рейтинг: 0 / 0
18.05.2004, 10:12:41
    #32521518
alex777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
Нет.

Я опустил некоторые незнацительные вещи такие как загрузку библиотеки, получение указателей на функции и описание переменных, останое привел как есть.
...
Рейтинг: 0 / 0
18.05.2004, 10:59:06
    #32521630
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
а почему у тебя retcode на ноль проверяется? ведь eof это 100
...
Рейтинг: 0 / 0
18.05.2004, 11:10:34
    #32521662
alex777
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с fetch и isc_dsql_allocate_statement
А подробнее как я должен организовать цикл !=100 и !=100L выдпет тоже самое только с боку.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с fetch и isc_dsql_allocate_statement / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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