Программирование на Атлантисе (VIP, FCOM, ARD), FastReport
Модераторы: m0p3e, edward_K, Модераторы
-
Marker
- Сообщения: 4
- Зарегистрирован: 06 май 2009, 16:12
Сообщение
Marker »
добрый день.
решил познакомиться с данной возможностью языка...
но зашел не далеко (((
объясните пжст в чем моя ошибка?
Код: Выделить всё
var stmt : longInt;
stmt := sqlAllocStmt;
Message('Код sqlAllocStmt: ' + string(sqlErrorCode(stmt)));
в итоге:
Код sqlAllocStmt: 0
дальше писать код нет смысла - не работает.
И видимо от того, что sqlAllocStmt не срабатывает должным образом.
-
Ged
- Местный житель
- Сообщения: 645
- Зарегистрирован: 29 мар 2005, 17:49
-
Контактная информация:
Сообщение
Ged »
sqlErrorCode
Назначение
Возвращает код последней ошибки.
Значит ошибок и не было
-
Marker
- Сообщения: 4
- Зарегистрирован: 06 май 2009, 16:12
Сообщение
Marker »
совершенно верно! прошу прощения - напутал!
предоставлю весть свой код:
Код: Выделить всё
var stmt : longInt;
var buf : record as table COUNTCMP;
var query : string;
stmt := sqlAllocStmt;
Message('stmt: ' + string(stmt));
sqlBindCol(stmt, 1, buf.CTRANSP);
query := 'SELECT CTRANSP '
+ 'FROM COUNTCMP';
sqlExecStmt(stmt,query);
Message('Код sqlExecStmt: ' + string(sqlErrorCode(stmt)));
while sqlFetch(stmt) = tsOk do
{
Message(buf.CTRANSP);
}
Message('Код sqlFetch: ' + string(sqlErrorCode(stmt)));
sqlFreeStmt(stmt);
результат такой:
Код: Выделить всё
- stmt: 122179896
- Код sqlExecStmt: 0
- Код sqlFetch: 24338
как видно, ошибок нет и
stmt что-то присвоил...
но
Message(buf.CTRANSP) не срабатывает ((
почему?
-
Den
- Местный житель
- Сообщения: 1846
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
-
Контактная информация:
Сообщение
Den »
Вообще то Ваш пример вполне рабочий. Надеюсь записи есть в точно в COUNTCMP ? а еще что пишется в лог ms70drv.log ну или ora у вас ....
-
Marker
- Сообщения: 4
- Зарегистрирован: 06 май 2009, 16:12
Сообщение
Marker »
просмотрел логи оракловые...
- кривой запрос!
потоптавшись немного решил изменить текст запроса:
Код: Выделить всё
query := 'SELECT CTRANSP '
+ 'FROM COUNTCMP WHERE 0=0';
и О чудо! - заработало...
что за баг?
действительно ли это недоработка или что?
почему без
WHERE 0=0 не работатет?
-
Marker
- Сообщения: 4
- Зарегистрирован: 06 май 2009, 16:12
Сообщение
Marker »
Marker писал(а):просмотрел логи оракловые...
- кривой запрос!
всмысле не опечатка, а запрос преобразованный средствами атлантиса