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

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

Помогите редактировать записи.. [D7, XP]


aza ©   (2009-04-21 14:13:00) 

Привет всем!

Пишу таблицу (сетку) типа:

1. Книги          1  1  0  1   2  78,3  34  3   3
2. Валенки      0  0  0  0  1   8,3   1   2    0

Книги лежат   в LeftTable      ( ID, Name)
данные лежат в CenterTable  (F_ID, f1,f2,f3,f4.....)

На форме есть
LeftGrid
CenterGrid

select LeftTable.ID, LeftTable.Name, CenterTable.f1,f2......
    FROM LeftTable LEFT JOIN CenterTable ON LeftTable.ID = CenterTable.F_ID

При редактировании пишет "Не достаточно сведений ключевого поля для обновления"

Подскажите пути решения. Спасибо!


aza   (2009-04-23 17:53:00) [1]

спасибо большое!

ADODataSet OnGetText помог!

также сделал OnChange для того, чтоб при стерании значения там не оставался Null, а записывался 0.


clickmaker   (2009-04-22 12:38:00) [2]

> как в грид выводить значения = 0 в виде пустоты?

либо в запросе nullif(FieldName, 0)
либо в событии OnGetText поля


Ega23   (2009-04-22 10:38:00) [3]

isnull


Игорь Шевченко   (2009-04-21 18:57:00) [4]


> а как быть с нулями?


тоже наверное найдешь


aza   (2009-04-21 18:41:00) [5]

ой! нашел в DataSet'e before insert before delete.

а как быть с нулями?


aza   (2009-04-21 18:37:00) [6]

BeforeInsert в гриде нету ((

и еще можно спрошу?
как в грид выводить значения = 0 в виде пустоты?


Anatoly Podgoretsky   (2009-04-21 16:22:00) [7]

BeforeDelete тоже есть.


clickmaker   (2009-04-21 16:08:00) [8]

> Как запретить TADOQuery делать Append ? delete ?

самому квери можно запретить только все.
остальное - на уровне интерфейса. Запретить удалять в гриде по нажатию del, в BeforeInsert сказать abort


aza   (2009-04-21 15:52:00) [9]

и  еще:

Как запретить TADOQuery делать Append ? delete ?

т.е. только редактирование имеющихся записей?*


aza   (2009-04-21 14:35:00) [10]

Ega23
inner join тоже не помог.
в левой таблице не хватало ключевого поля..


aza   (2009-04-21 14:34:00) [11]

вроде разобрался:
создал необходимые ключевые поля.. теперь может обновлять данные.


Ega23   (2009-04-21 14:22:00) [12]


> LEFT JOIN CenterTable ON


inner join?


aza   (2009-04-21 14:15:00) [13]

ошибочка:

на форме всего один грид!!


Наверх

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