Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/121: Рейтинг темы: голосов - 121, средняя оценка - 4.77
4 / 4 / 0
Регистрация: 03.05.2011
Сообщений: 6
1

Редактирование записи из DBGrid

22.05.2011, 18:02. Показов 23137. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Допустим есть база: ФИО, Дата рождения. Хочу сделать так: в дбгриде ищем нужную нам запись, щелкаем два раза мышкой или жмем кнопку "Редактировать", запускается другая форма куда в Editы передаются значения редактируемой записи из DBGrid'a. Например:Edit1- ФИО, Edit2- дата рождения. Редактируем нужное поле- жмем сохранить и данная запись в базе обновляется. Кто может подсказать как это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2011, 18:02
Ответы с готовыми решениями:

Редактирование записи в dbgrid
Здравствуйте, уважаемые гуру. Знаю, что данная тема поднималась не один раз, но ... SQL Server...

Как сделать добавление/редактирование/удаление записи в dbgrid?
подскажите, пожалуйста, как сделать добавление/редактирование/удаление записи в dbgrid? проект и...

Как сделать редактирование записи в таблице DBgrid (база firebird) двойным нажатием кнопки мыши
Есть база данных Firebird (fdb), на форме Datasourse, IbTable, IBQuery, IBDatabase, IBTransaction....

Редактирование DBGrid
Добрый день! Столкнулся с проблемой, у меня есть таблица дбгрид в которой я совместил две таблицы в...

7
1496 / 1238 / 244
Регистрация: 04.04.2011
Сообщений: 4,362
23.05.2011, 14:58 2
Приглашение
1
4 / 4 / 0
Регистрация: 03.05.2011
Сообщений: 6
23.05.2011, 15:08  [ТС] 3
Спасибо. Вчера методом тыка разобрался как это сделать. Кому интересно, сделал так:

на дабл-клик по строке в DBGride завел процедуру:

Код
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
Form2.Show;
Form2.BitBtn1.Enabled:=False;
Form2.Edit9.Text:=Form1.DBGrid1.Fields[0].AsString;
Form2.ComboBox1.Text:=Form1.DBGrid1.Fields[1].AsString;
Form2.Edit1.Text:=Form1.DBGrid1.Fields[2].AsString;
Form2.Edit2.Text:=Form1.DBGrid1.Fields[3].AsString;
Form2.Edit3.Text:=Form1.DBGrid1.Fields[4].AsString;
Form2.Edit4.Text:=Form1.DBGrid1.Fields[5].AsString;
Form2.Edit5.Text:=Form1.DBGrid1.Fields[6].AsString;
Form2.Edit6.Text:=Form1.DBGrid1.Fields[7].AsString;
Form2.ComboBox2.Text:=Form1.DBGrid1.Fields[8].AsString;
Form2.Edit7.Text:=Form1.DBGrid1.Fields[10].AsString;
Form2.Edit8.Text:=Form1.DBGrid1.Fields[11].AsString;
end;



Отображает форму редактирования(она же ранее форма ввода), кнопку, которая отвечает за добавление новой записи, делает неактивной
Код
Form2.Show;
Form2.BitBtn1.Enabled:=False;
а в форме редактирование на нажатие кнопки Редактировать завел следующую процедуру:

Код
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
Try
            DM.ADOConnection1.BeginTrans;
              with DM.Edit do
                begin
                  Parameters.ParamByName('@ID_organiz').Value:=edit9.Text;
                  Parameters.ParamByName('@Type').Value:=Combobox1.text;
                  Parameters.ParamByName('@name').Value:=Edit1.Text;
                  Parameters.ParamByName('@INN').Value:=Edit2.Text;
                  Parameters.ParamByName('@KPP').Value:=Edit3.Text;
                  Parameters.ParamByName('@OGRN').Value:=Edit4.Text;
                  Parameters.ParamByName('@podr').Value:=Edit5.Text;
                  Parameters.ParamByName('@gorod').Value:=Edit6.Text;
                  Parameters.ParamByName('@FSS_nom').Value:=Edit7.Text;
                  Parameters.ParamByName('@Region').Value:=Combobox2.text;
                  Parameters.ParamByName('@Kp_FSS').Value:=Edit8.Text;
                end;
              DM.Edit.ExecProc;
              DM.ADOConnection1.CommitTrans;
        except
          DM.ADOConnection1.RollbackTrans;
          ShowMessage('Невозможно выполнить. Повторите!');
        end;
DM.Zapros_org.Active:=False;
DM.Zapros_org.Active:=True;
end;
Тему можно закрыть.
4
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
23.05.2011, 15:13 4
А что за БД?
Или именно Edit`ы надо использовать?
0
4 / 4 / 0
Регистрация: 03.05.2011
Сообщений: 6
23.05.2011, 15:22  [ТС] 5
Да. В том то и дело: что в форме редактирования, есть 2 вкладки: данные организации и ответственные лица. В отв.лицах еще один DBGrid, где перечислены сотрудники этой конторы, а в карточке сотрудника должен быть еще 1- где перечислены сертификаты ЭЦП, выданные на это лицо. Поэтому для редактирования записи я и должен вызывать форму с Edit'ами и вложенными DBGrid'aми- как матрешка

Добавлено через 3 минуты
Цитата Сообщение от harmless Посмотреть сообщение
А что за БД?
Или именно Edit`ы надо использовать?
БД хранит в себе организации и их сотрудников, кому выданы ключи ЭЦП для торгов, отправки отчетности в единую службу по тарифам и фонд соц.страха. Программа у меня должна хранить данные по сроку действия сертификата и когда подходит срок его менять, в автоматическом или полуавтоматическом режиме, она должна будет отправить уведомление на адрес.эл почты, указанный в сертификате.
0
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
23.05.2011, 15:30 6
БД на чем реализована?
Пара замечаний:
1. Сначала значения элементов формы устанавливаем, потом показываем.
2. Вместо использования свойства Active, идеологически правильнее (ИМХО само собой) использовать методы Close и Open
0
4 / 4 / 0
Регистрация: 03.05.2011
Сообщений: 6
23.05.2011, 17:28  [ТС] 7
Цитата Сообщение от harmless Посмотреть сообщение
БД на чем реализована?
Пара замечаний:
1. Сначала значения элементов формы устанавливаем, потом показываем.
2. Вместо использования свойства Active, идеологически правильнее (ИМХО само собой) использовать методы Close и Open
БД на SQL 2005.
Замечания учту. Просто горит диплом, а мне еще надо научить делфи вытягивать нужные мне данные из сертификата ЭЦП. Тут как то не до красоты кода- это потом

Добавлено через 1 час 55 минут
Цитата Сообщение от Dr.Cuker™ Посмотреть сообщение
БД на SQL 2005.
Замечания учту. Просто горит диплом, а мне еще надо научить делфи вытягивать нужные мне данные из сертификата ЭЦП. Тут как то не до красоты кода- это потом
Кстати, может кто поможет: Получение данных из файла сертификата ?
0
15 / 15 / 6
Регистрация: 31.01.2011
Сообщений: 178
08.11.2013, 19:19 8
а что за ExecProc? что подключать надо?
0
08.11.2013, 19:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2013, 19:19
Помогаю со студенческими работами здесь

Редактирование DBgrid
Добрый день. Возникла такая проблема: нужно отредактировать таблицу,созданную в database, и...

Редактирование в dbgrid
Добрый день ! Столкнулся с такой проблемой: необходимо осуществить редактирование в dbgrid, с...

Редактирование полей в DBGrid
Доброе время суток, мне нужно организовать редактирование полей DBGrid в ,как это можно...

Запрет на Редактирование ячейки в dbgrid
if (StrToInt(edt1.Text)<0) then ShowMessage('Вы не можете купить данное кол-во товара'); ...

Редактирование dbgrid разными пользователями
Добрый день Есть dbgrid отображающую таблицу. База на acccess. Для добавления и редактирования...

Delphi 7 редактирование элемента DBgrid
Вечер добрый. По заголовку очередная школьная проблема, но это не так: Вот код и скрин формы, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru