1 / 1 / 0
Регистрация: 25.01.2015
Сообщений: 39
1

Изменение и удаление выбранного элемента в базе данных sql

12.09.2016, 22:09. Показов 982. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите кто может!! Мне нужно изменить либо удалить выбранную запись, но что то допетрить как не могу, тоесть в DBGrid выбираем строку с данными и нужно эти данные либо редактировать, либо удалить.. Свою програмку могу выложить, только она наврятли у вас запустится так как у меня применены скины.. хотя бы что то похожее покажите, а то гугл не помогает
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2016, 22:09
Ответы с готовыми решениями:

Добавление, изменение и удаление данных в базе данных
Методом научного тыка кое как подключил таблицу Microsoft Access с помощью datagrid вот только ни...

Добавление, изменение, удалении записи в базе данных sql
Здравствуйте! Стоит такой вопрос: как добавить, изменить и удалить записи в базе данных sql. Опишу...

Программное подключение элемента управления данными Adodc к базе данных SQL Server
Привет всем! Подскажите пожалуйста, как правильно реализовать подключение элемента управления...

Удаление выбранного кликом элемента.
Здравствуйте, мне нужно удалить текущий объект с классом resize как правильно к нему обратиться? ...

13
548 / 479 / 190
Регистрация: 11.12.2013
Сообщений: 2,494
12.09.2016, 23:04 2
Я предпочитаю редактировать данные в отдельной форме, т.е. на форме с DBGrid есть кнопки "Новая запись", "Редактировать" и т.д. Нажимаем на кнопку и открывается форма для добавления/редактирования записи. Чтобы сохранить изменения использую Query (Query1.ExecSQL).
0
1 / 1 / 0
Регистрация: 25.01.2015
Сообщений: 39
12.09.2016, 23:42  [ТС] 3
Цитата Сообщение от Алекcей Посмотреть сообщение
Я предпочитаю редактировать данные в отдельной форме, т.е. на форме с DBGrid есть кнопки "Новая запись", "Редактировать" и т.д. Нажимаем на кнопку и открывается форма для добавления/редактирования записи. Чтобы сохранить изменения использую Query (Query1.ExecSQL).
У меня при нажатии кнопки изменить/удалить открывается новая форма со всеми параметрами, вопрос был как реализовать ? что то может похожее есть что бы я понял
0
3584 / 2194 / 692
Регистрация: 29.05.2013
Сообщений: 9,365
13.09.2016, 00:59 4
Неясно из вашего поста какие данные вы в грид запихиваете. Если это простая таблица, то неясно в чем проблема, команды edit,append,post помогают без проблем внести данные в таблицу. Если же у вас сложный запрос из нескольких таблиц, то маловато информации.
0
4 / 4 / 0
Регистрация: 19.07.2015
Сообщений: 96
13.09.2016, 07:34 5
Допустим у Вас на форме(frmMain) есть 2 TQuery : qData и qEdit, DataSourse и DBgrid.
Для удаления записи можно сделать так:

Delphi
1
2
3
4
5
6
qEdit.Close;
qEdit.SQL.Clear;
qEdit.SQL.ADD (DELETE FROM `TABLE` WHERE item_id="'+IntToStr(qData.FieldByName(item_id).AsInteger)+'");
qEdit.ExecSQL.
qData.Close;
qData.Open;
Для редактирования создаем еще одну форму(frmEdit) с различными компонентами (Label, Edit и тд).
При нажатии на кнопку "Редактировать" пишем код?
Delphi
1
2
3
frmEdit.Label1.Caption := IntToStr(qData.FieldByName(item_id).AsInteger);
frmEdit.Edit2.text := IntToStr(qData.FieldByName(item_name).AsString);
frmEdit.ShowModal;
Теперь при нажатии на кнопку сохранить формы frmEdit пишем примерно такой код:

Delphi
1
2
3
4
5
6
frmMain.qEdit.Close;
frmMain.qEdit.SQL.Clear;
frmMain.qEdit.SQL.ADD (UPDATE `TABLE` SET item_name=" '+trim(Edit1.text)+' " WHERE item_id="'+IntToStr(label1.caption)+'");
frmMain.qEdit.ExecSQL.
frmMain.qData.Close;
frmMain.qData.Open;
0
5393 / 4321 / 1060
Регистрация: 29.08.2013
Сообщений: 27,128
Записей в блоге: 3
13.09.2016, 09:03 6
andevel,
1 Выясните сначала какая СУБД у ТС
2 Почитайте про QuotedSTR()
0
andevel
13.09.2016, 12:38
  #7

Не по теме:

qwertehok, А как Вы тут хотите использовать QuotedSTR() ?

0
548 / 479 / 190
Регистрация: 11.12.2013
Сообщений: 2,494
13.09.2016, 12:42 8
примерно так
Delphi
1
2
3
4
5
6
7
with frmMain.qEdit do begin
  Close;
  SQL.Text:='UPDATE `TABLE` SET item_name='+QuotedStr(Trim(Edit1.text))+' WHERE item_id='+QuotedStr(label1.caption);
  ExecSQL;
  frmMain.qData.Close;
  frmMain.qData.Open;
end;
0
4 / 4 / 0
Регистрация: 19.07.2015
Сообщений: 96
13.09.2016, 13:22 9
Видимо я что-то не допонимаю. А зачем так делать?
0
548 / 479 / 190
Регистрация: 11.12.2013
Сообщений: 2,494
13.09.2016, 13:30 10
Функция добавляет символ одиночной кавычки ( ' ) в начало и конец строки, а так же дублирует каждый одиночный символ кавычки внутри строки.
0
4 / 4 / 0
Регистрация: 19.07.2015
Сообщений: 96
13.09.2016, 14:15 11
Я прочитал описание)Вот и спрашиваю, зачем так делать?
0
5393 / 4321 / 1060
Регистрация: 29.08.2013
Сообщений: 27,128
Записей в блоге: 3
13.09.2016, 16:42 12
что бы не писать кучу кавычек
Цитата Сообщение от andevel Посмотреть сообщение
SET item_name=" '+trim(Edit1.text)+' " WHERE
вот тут у тебя их уже 6
а если строка длинная и вхождений много, то можно запутаться
0
4 / 4 / 0
Регистрация: 19.07.2015
Сообщений: 96
13.09.2016, 17:15 13
qwertehok, так у меня же там двойные кавычки . . а одиночных только 2.
0
5393 / 4321 / 1060
Регистрация: 29.08.2013
Сообщений: 27,128
Записей в блоге: 3
13.09.2016, 17:32 14
я вам что пишу что бы вы обязательно писали так как я скажу?
делайте что хотите
0
13.09.2016, 17:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2016, 17:32
Помогаю со студенческими работами здесь

Удаление выбранного элемента в ComboBox
как удалить выбранный элемент? если написать combo1.removeitem 0 удалит первый, 1 второй и тд мне...

Изменение свойства Background выбранного элемента в ListBox
Добрый день! Необходимо изменить цвет выбранного элемента в ListBox. Создаю триггер: <Trigger...

Изменение даты в DateTimePicker-е в зависимости от выбранного элемента ComboBox
Здравствуйте! помогите пож-та разобраться в чем ошибка!при выборе в ComboBox строки например 1...

Создание временных данных в SQL с PHP или удаление данных из SQL по истечению времени
Пользователь вводит данные и они заносятся в SQL. Вопрос, как сделать, чтоб через, допустим, 10...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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