Итак. Судя по вашему посту
proDiva
Еще проблема - как достать выбранную запись для редактирования? Щас сижу ищу примеры.
У вас результате запроса данные пихаются прямо в нужный вам виджет и вы нигде данные, возвращаемые cursor.fetchXXX больше не храните. Я бы сделал так:
1) Создал бы класс, (DBQuery) который реагирует на ваши запросы и все с ними связанное (читай python DB API, есть мой перевод на этом сайте), которое в вашем решении вы сочтете нужным применить. Этот класс возвращает результирующий набор в виде
2) Создаете класс (DBGRID), основанный на вашем виджете, например, таблица. В самом классе DBGRID создаете экземпляр DBQuery и данные, возвращаемые DBQuery (не забывайте, что это ) пихайте в промежуточный список и в таблицу построчно. Тоесть строка 0-(record0), строка 1-(record1) и т.д. Теперь, при обращении к конкретной записи вы всегда сможете достучаться по индексу (номеру конкретной строки) из таблицы в сохраненном вами ромежуточный списке. Промежуточный список полезен вам будет и при операциях модификации когда вы оставляете нетронутым список из DBQuery. Можно, конечно менять и его, но мне этот вариант почему-то не понравился, не помню уже.
3) Если вы все-таки послушаетесь меня и сделаете загрузку данных в таблицу по частям то вам надо будет отслеживать перемещения текущей позиции курсора таблицы. Так вот, если курсор приближается к концу таблицы на n записей вы просто вызываете метод Next, как показано в примере по ссылке.
Ну вот так, в первом приближении, процесс описал. Надеюсь суть уловили. Само-собой вам придется обвешать ваши DBQuery и DBGRID своими методами, которые вы сочтете нужным придумать.