powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / проблемы с TOraQuery
18 сообщений из 18, страница 1 из 1
проблемы с TOraQuery
    #34873706
luchik_5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробле заключается в следующем
Есть код:

Код: plaintext
1.
DataMod->OQr_Report->Last();//OQr_Report - типа TOraQuery
int i=DataMod->OQr_Report->FieldByName("ID")->AsInteger;

после выполнения переменная i получает значение равное 0 (не правильное значение, т.к. у последней записи id=29 )

если прописать:

Код: plaintext
1.
2.
DataMod->OQr_Report->Last();
ShowMessage(IntToStr(DataMod->OQr_Report->RecordCount));
int i=DataMod->OQr_Report->FieldByName("ID")->AsInteger;

топеременная i получит действительно значение 29

с чем это может быть связано и как обойти эту проблему?
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873766
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте без RecordCount, но
Код: plaintext
1.
ShowMessage(IntToStr(i));
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873769
luchik_5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OracleXПопробуйте без RecordCount, но
Код: plaintext
1.
ShowMessage(IntToStr(i));


Это не работает. Да и к тому же мне не нужно выводит сообщение, мне нужно, что бы он с последней строки брал параметр. Если же делать дополнительное текстовое поле и записывать туда какое-то значение вместо вывода сообщение, то тоже не работает
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873775
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы в отладчике смотрите?
Если да, то попробуйте, как я сказал.
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873786
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме того после Last нужно
Код: plaintext
if not DataMod->OQr_Report.EOF 
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873807
luchik_5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OracleXКроме того после Last нужно
Код: plaintext
if not DataMod->OQr_Report.EOF 


пробую... все равно выдает 0
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873813
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее, можно и до Last, но в любом случае с проверкой наличия записей:
Код: plaintext
if not (DataMod->OQr_Report->BOF && DataMod->OQr_Report->EOF)
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873822
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TOraQuery - это класс из ODAC?
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873825
luchik_5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OracleXВернее, можно и до Last, но в любом случае с проверкой наличия записей:
Код: plaintext
if not (DataMod->OQr_Report->BOF && DataMod->OQr_Report->EOF)


ну хорошо, проверку я делаю, проблему основную это не решает
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873840
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть исходники TOraQuery и ситуация воспроизводится,
то в отладчике посмотрите.
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873859
luchik_5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OracleXЕсли есть исходники TOraQuery и ситуация воспроизводится,
то в отладчике посмотрите.
и что я там вижу? Да он действительно перешел на последнюю строку, но пока перед взятием параметров не укажешь showmessage все параметры у него нулевые
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34873955
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходники ODAC есть у Вас? Отладчиком зайдите в ODAC.
В Delphi у ODAC такой особенности, как у Вас, не будет наблюдаться.

Попробуйте перед Last сделать First, чисто для эксперимента.
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34874065
luchik_5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OracleXИсходники ODAC есть у Вас? Отладчиком зайдите в ODAC.
В Delphi у ODAC такой особенности, как у Вас, не будет наблюдаться.

Попробуйте перед Last сделать First, чисто для эксперимента.

Я конечно же все варианты попробую... в конечном итоге решение проблемы все равно найду. Если хотите я потом в эту темку могу сбромить что получилось )

А вам большое спасибо за общение
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34874202
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В отладчике посмотрите DataMod->OQr_Report->FieldByName("ID")->AsInteger
Может быть, проблема с областью действия имен, две переменных i и т.п.
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34874234
luchik_5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OracleXВ отладчике посмотрите DataMod->OQr_Report->FieldByName("ID")->AsInteger
Может быть, проблема с областью действия имен, две переменных i и т.п.

но тогда почему как только вывожу сообщение текстовое все работает нормально?
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34874293
OracleX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
int i=...
Я не сишник, поэтому такое определение переменной посреди кода мне не по душе.
Также попробуйте переименовать переменную i, например, в IdColumn
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34878327
Ivengo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно вопрос? А зачем вам это понадобилось? Вы хотите определить id последней вставленной записи?
...
Рейтинг: 0 / 0
проблемы с TOraQuery
    #34880411
Фотография битый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataMod->OQr_Report->Last();
ShowMessage(DataMod->OQr_Report->FieldByName("ID")->AsString);
//Чего возвращает?
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / проблемы с TOraQuery
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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