Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: CL | DM;

Вниз

Справочники   Найти похожие ветки 

 
Марат   (2004-02-04 09:07) [0]

Здравствуйте мастера. Есть вопрос. Необходимо, чтобы в проекте была возможность изменять справочник с SQL-сервера. В MSAccess есть присоединенные таблицы,а как это делается в Delphi?


 
ЮЮ ©   (2004-02-04 09:10) [1]

И что эти справочники не такие же таблицы в БД, с которыми работаешь в проекте?


 
Марат   (2004-02-04 09:18) [2]

Такие же.Но если я пытаюсь изменить что-нибудь в DBGrid, то выдается ошибка.


 
Ega23 ©   (2004-02-04 09:24) [3]

Не знаю, наверное со мной будут спорить, но править данные непосредствено в гриде, ИМХО, дурной тон.


 
asp ©   (2004-02-04 09:26) [4]

Марат (04.02.04 09:18) [2]> Ошибка с сообщением ошибка? :)
Текст?


 
KSergey ©   (2004-02-04 09:28) [5]

1.Текст ошибки?
2.Компоненты доступа?
3.Первичный ключ в таблицах есть?


 
Марат   (2004-02-04 09:29) [6]

Ну, вообще-то я у Вас и хотел спросить,где править можно и лучше?


 
Ega23 ©   (2004-02-04 09:33) [7]

Создай для каждой из справочных таблиц отдельную форму и показывай её модально. Чем такой вариант хорош - дураказащиту можно прописать без проблем всяких.


 
Марат   (2004-02-04 09:35) [8]

Текст ошибки не помню,т.к. после этого перепробовал многие варианты. Один из них:Впихиваю все в StringGrid и в массив, а потом проверяю изменились ли данные (но это я думаю через Африку).Доступ проставлен на все (Select,Insert и т.д.).Первичный ключ по ID-шнику.


 
asp ©   (2004-02-04 09:38) [9]

Марат (04.02.04 09:35) [8]> Чем StringGrid в данном случае привлекательнее DBGrid?
Компоненты доступа?


 
Марат   (2004-02-04 11:04) [10]

Попробую переформулировать вопрос.Необходимо создать на форме такой компонент, при редактировании которого автоматически менялась бы таблица на сервере.


 
asp ©   (2004-02-04 11:06) [11]

Например,: TQuery, TDataSet, TUpdateSQL, TDBGrid
Плюс обработка событий.


 
Ega23 ©   (2004-02-04 11:07) [12]

А не стоит такого делать. По целому ряду причин:
1. Вдруг кто-то на другом клиенте редактирует эту-же запись?
2. Вдруг требуется "откатить" изменения?
3. Допустим я поменял 3 поля из шести, а потом решил, что это я погорячился. А записи-то в таблице поменялись.
И ещё много можно привести.


 
Марат   (2004-02-04 12:20) [13]

Такого не будет. Только "узкий" круг пользователей смогут что-то изменять. Но у меня остался вопрос.Если пытаюсь сделать изменения в DBGrid (Editing=true), то максимум что получается- выделить ячейку.


 
Ega23 ©   (2004-02-04 13:14) [14]

Что ты используешь в качестве TDataSource?


 
Марат   (2004-02-04 14:05) [15]

Ребята, получилось!!!Оказывается всего-то надо было сделать Query.ApplyUpdates.Но теперь возник другой вопрос. А как удалить целую строку из DBGrid?Не буду же я удалять по одному полю.А если в свойствах прописать Editing=true, то SelectRows автоматически=false.


 
ЮЮ ©   (2004-02-05 04:20) [16]

>А как удалить целую строку из DBGrid?
Попробуй, блин, удалить целую запись из Query, а то все строки поудаляешь, а записи останутся :-)


 
ЮЮ ©   (2004-02-05 05:40) [17]

Нажми Ctrl + Del, находясь на нужной строке Грида, и случится чудо !!!



Страницы: 1 вся ветка

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.018 c
14-94186
xMan
2004-02-06 22:17
2004.02.29
Подскажите


14-94099
ИМХО
2004-02-09 20:38
2004.02.29
Динамо Киев: в чем причина популярности команды в Советское время


1-93871
olookin
2004-02-16 13:38
2004.02.29
Пиктограмма компонента


14-94112
Vuk
2004-02-09 16:48
2004.02.29
Нашел интересный сервис в сети.


8-94028
Junior
2003-10-25 17:09
2004.02.29
Мастера подскажите как очистить канву?