Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблема с редактированием БД [D6, Paradox]


Skolotovich ©   (2002-11-11 15:58:00) 

Помогите великие мастера Делфи
написал базу все прекрасно работало до сегодня
сечас ета зараза не хочет редактироваться
при этом Query.Active:=true, Query.RequestLive:=true,
Query.CanModify=false;
неужели ошибка в ДНК ;-();
помогите бедному начинающему добрым советом


MsGuns   (2002-11-11 17:03:00) [1]

Это св-во (CanModify) только чтение и оно как раз и предназначено для того, чтобы проверить, можно ли НД редактировать в настоящий момент. RequestLive - это условие-опция разработчика, а CanModify - реакция BDE на состояние запроса и НД в КАЖДОЙ КОНКРЕТНОЙ СИТУАЦИИ.
Когда вы строите запрос в дизайне, BDE ни фига не известно, можно ли будет редактить возвращаемый НД, ведь потом в ране я запросто могу поменять SQL с обычного SELECT на SELECT .. ORDER BY. BDE не подарок, но зачем же на нее пургу гнать зазря ?


Skolotovich   (2002-11-11 16:59:00) [2]

забудьте про CanModify ето ридонли
просто статус БД
и пордон ошидочка оно true
сенкс за советы
свою ошибку я признал SQL -- rulez forever!!!
спасибо за внимание


exit   (2002-11-11 16:59:00) [3]

Так, случай то, оказывается, запущенный. Мы в run-time эту штуку правим?
Открываем Help...

TTable.CanModify
Indicates whether an application can insert, edit, and delete data in a table.

property CanModify: Boolean;

Description

Check the status of CanModify to determine if an application can modify a dataset in any way. If CanModify is True, the dataset can be modified. If CanModify is False, the table is read-only

If CanModify is False, the table is read-only
Практически по-русски написано.


exit   (2002-11-11 16:53:00) [4]

Ну все, достали... Открываю Delphi, бросаю на форму Query...
И где же этот пресловутый CanModify?
Бред какой-то...


exit   (2002-11-11 16:48:00) [5]

Ну, допустим. Значит BDE сам за тебя эти SQL сгенерит. (Давно я эту гадость в своих проектах не пользовал.)
Но зачем CanModify:=false я все же не понял. Вот если бы там было Can"tModify, тогда и вопросов бы не было.


Skolotovich   (2002-11-11 16:41:00) [6]

>Не надо путать TQuery с TTable. Для Query все равно нужен >>>>UpdateSQL, InsertSQL, DeleteSQL.

ради интереса напиши програмку
поставь та Query
и Query.RequestLive:=true
редактироватся база будет на ура


exit   (2002-11-11 16:24:00) [7]

Не надо путать TQuery с TTable. Для Query все равно нужен UpdateSQL, InsertSQL, DeleteSQL.
И не CanModify, а CachedUpdates = false. Тогда само все апдейтится. Если true - нужно делать ApplyUpdates.


Skolotovich   (2002-11-11 16:19:00) [8]

издеватся всетаки не стоит
ведь сами такими были

>А зачем CanModify:=false;?

так ведь показывает что можно редактировать

там тема такая
что когда ставиш Query.RequestLive:=true
то можно базу с грида редактировать а оно не хочет
в этом та вся проблема


MsGuns   (2002-11-11 16:05:00) [9]

Неужели ошибка в ДНК ?)))))


Андрей Прокофьев   (2002-11-11 16:04:00) [10]

см Help (F1)
DevGuide: Developing database applications
Obtaining an editable result set


exit   (2002-11-11 16:04:00) [11]


> Query.Active:=true, Query.RequestLive:=true,
> Query.CanModify=false;

А зачем CanModify:=false;?
Как насчет CachedUpdates ? и UpdateObject (TUpdateSQL)
На основании какого SQL она тебе должна редактировать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо