Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос о RecNo / 22 сообщений из 22, страница 1 из 1
01.09.2005, 12:34
    #33245665
rujim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
Hi, all!

Помогите, пожалуйста, разобраться с проблемой использования RecNo в С++ Builder 6. Данные из таблицы выбираю через BDE 5.2 с помощью TQuery и TTable. При обращении к RecNo он выдает результат -1. Пробовал с разными таблицами и базами данных (Oracle).

Пасибо.
...
Рейтинг: 0 / 0
01.09.2005, 12:40
    #33245695
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
RecNo, как и RecordCount не всегда соответствуют действительности. Просто запомни это и не пользуйся ими, или пользуйся когда уверен в результате
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.09.2005, 12:51
    #33245734
Вопрос о RecNo
Не спозиционирована же запись?! или тебе нужно число записей?
...
Рейтинг: 0 / 0
01.09.2005, 13:20
    #33245845
rujim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
Нужна позиция записи в запросе для возврата при последующем обращении с теми же параметрами запроса.
...
Рейтинг: 0 / 0
01.09.2005, 13:49
    #33245966
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
Используй букмарки ...


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
01.09.2005, 14:03
    #33246030
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
rujimНужна позиция записи в запросе для возврата при последующем обращении с теми же параметрами запроса.
Это неверный подход!!! Более того, ошибочный в самой своей сути!
В SQL нигде не оговаривается порядок следования записей (если, конечно, не задано ORDER BY...). Стандартом гарантируется только то, что результирующий набор БУДЕТ СОДЕРЖАТЬ ВСЕ ЗАПИСИ, УДОВЛЕТВОРЯЮЩИЕ УСЛОВИЯМ ЗАПРОСА. То есть, одна и та же запись при последовательных выполнениях одного и тот же запроса может иметь разный № внутри результирующего набора...
...
Рейтинг: 0 / 0
01.09.2005, 14:17
    #33246076
rujim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
order by задан. Дело в том, что сам RecNo не вычисляет значение записи.
...
Рейтинг: 0 / 0
01.09.2005, 14:57
    #33246235
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
rujimorder by задан. Дело в том, что сам RecNo не вычисляет значение записи.
Ну, блин! Вам "шашечки или ехать"?
Рассматривайте RecNo как индикатор/флаг/"указатель" для следующего утверждения: сейчас я нахожусь на записи № <RecNo>...
И если написать: "<Набор записей>->RecNo=100000;", то физического перехода на запись с таким номером не произойдет... Просто значение у RecNo изменится, а позиция останется прежней...
Для физического перехода к записи по известному номеру надо сделать:
<Набор записей>->First();
<Набор записей>->MoveBy(<Номер записи-1>);
...
Рейтинг: 0 / 0
01.09.2005, 15:11
    #33246295
rujim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
Я прекрасно понимаю концепцию выборки и установки курсора в заданное место в запросе, но я не могу из RecNo взять число, отличное от -1. Как его заставить работать или забыть о нем, как советует Карабас Барабас???
...
Рейтинг: 0 / 0
01.09.2005, 15:20
    #33246333
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
rujimЯ прекрасно понимаю концепцию выборки и установки курсора в заданное место в запросе, но я не могу из RecNo взять число, отличное от -1. Как его заставить работать или забыть о нем, как советует Карабас Барабас???
если после выполнения кода:

<Набор записей>->First();
for(int i=0;i<3;i++)
<Набор записей>->Next();

RecNo все равно равен -1, то я ничего не понимаю в этой жизни...
...
Рейтинг: 0 / 0
01.09.2005, 16:43
    #33246684
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
А если у тебя из набора будет удалена запись до твоего запомненного RecNo ? То-то !

У тебя должен быть первичный ключ, позиционируй по нему, Locate в помощь.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.09.2005, 17:06
    #33246781
rujim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
Пробую через TClientDataSet и все проходит нормально. Тут же меняю на TTable и значение RecNo = -1. Проблемы однозначно с TTable. Попробую поискать update на Builder.

Спасибо за ответы.
...
Рейтинг: 0 / 0
01.09.2005, 17:22
    #33246828
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
update не поможет
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.09.2005, 17:49
    #33246913
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
Это известная бага BDE. Используй другой метод доступа (DOA, ODAC)
...
Рейтинг: 0 / 0
01.09.2005, 17:50
    #33246916
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
Работать с Oracle через TTable это мазохизм, верно предыдущие товарищи сказали.
...
Рейтинг: 0 / 0
02.09.2005, 15:33
    #33248745
rujim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
Вопрос закрыт! Глюки BDE. Однозначно!

Спасибо за отклики.
...
Рейтинг: 0 / 0
02.09.2005, 15:54
    #33248826
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
А что букмарки кто то отменил ?


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
07.09.2005, 13:25
    #33256239
BasV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
Вопрос закрыт! Глюки BDE. Однозначно!
Это не глюки:
1. BDE создано сравнительно давно .
2. И даже не все ODBC,ADO возврашают RecNo он просто не нужен.
...
Рейтинг: 0 / 0
20.10.2005, 14:16
    #33335189
kowarai
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
а как мне узнать, добрался я до верхней строчки или нет?
иначе она плюется exception'ом, по случаю BOF = true;
нужно поставить обработку на нажатие стрелочек для перемещения по строкам ADOQuery... RecNo = -1 понятно дело...
...
Рейтинг: 0 / 0
20.10.2005, 15:07
    #33335366
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
kowaraiа как мне узнать, добрался я до верхней строчки или нет?
иначе она плюется exception'ом, по случаю BOF = true;
нужно поставить обработку на нажатие стрелочек для перемещения по строкам ADOQuery... RecNo = -1 понятно дело...
Вот и лови этот exception в try-catch блоке...
Если надо - выводи что-нибудь через MessageBox, если не надо, то оставь catch пустым...
...
Рейтинг: 0 / 0
20.10.2005, 22:11
    #33336215
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
rujimНужна позиция записи в запросе для возврата при последующем обращении с теми же параметрами запроса.

Наивный... Ты полагаешь, что какое-то RecNo идентифицирует запись ....
Нет, запись идентифицируется только первичным ключём таблицы.
...
Рейтинг: 0 / 0
20.10.2005, 22:15
    #33336219
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о RecNo
rujimВопрос закрыт! Глюки BDE. Однозначно!


Глюки --- они в голове. У тех, кто придумал этот RecNo и тех, кто пытается им пользоваться. BDE здесь почти ни при чем (кроме факта, что те, кто придумал BDE и RecNo работали в одной конторе).
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос о RecNo / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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