Главная страница
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.024 c
3-93797
Victor!
2004-01-31 15:12
2004.02.29
Вопрос по Microsoft Jet


6-94053
Silentor
2003-12-24 20:47
2004.02.29
класс TгарантированнядоставкаUDP ?


1-94023
Zvr@b
2004-02-16 21:35
2004.02.29
Как запретить пользователю вводить определённый символ (


6-94060
BlackSun
2003-12-21 20:59
2004.02.29
Как скачать файл в поток?


4-94244
anod
2003-12-21 01:06
2004.02.29
Пункт меню в чужом приложении