| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Изменение и удаление записи |
| Автор: dilik 30.7.2007, 22:44 | ||
| Помогите написать запрос на изменение и удаление записи. Вот так я загружаю данные из базы в поля:
1) Как написать процедуру обработки нажатия button, при которой введеные НОВЫЕ данные пользователя сохранялись в базу? 2) Как написать процедуру обработки нажатия button, при выбранная запись удалялась из базы? |
| Автор: ALeXandrK 30.7.2007, 23:26 | ||||||
| А зачем вообще все так сложно Ты вместо обычных Edit, ComboBox и т.п. не можешь поставить аналоги типа DBEdit, DBComboBox и т.п. ?! Они сами позаботяться о сохранении в базу. А для удаления напиши:
И вообще код у тебя странный какой-то... при активации окна активируется запрос, а потом начинается бессмысленная пробежка по всей базе, пока не доскачем до последней строки.... зачем ??? Может сразу тогда написать:
А если ты поставишь вместо Editов DBEditы и т.д., то твой код вообще сократиться до предела:
|
| Автор: pseud 1.8.2007, 17:22 |
| модераторы заняты и упустили твое сообщение поэтому ты сам сделай следующее: 1. Здесь тему закрой 2. Задай вопрос в http://forum.vingrad.ru/forum/delphi-db-database-reporting.html и ответов получишь гораздо больше |
| Автор: ALeXandrK 1.8.2007, 18:35 |
| Не нужно перезадавать вопрос, нужно просто обратиться к модераторам, чтобы тему перенесли |
| Автор: Alexeis 1.8.2007, 19:14 |
Все находиться там где должно быть. Незачем простыми вопросами основные разделы разбавлять |
| Автор: dilik 1.8.2007, 22:18 | ||||||
| Писал именно сюда, т.к. понимаю что вопрос не очень сложный, именно для в раздел для новичков. 1) To Rodman: а разве при изменении данных (введенных НОВЫХ данных) в sql-запросе не будет слова UPDATE? 2)
Т.е на форме несколько Edit`ов, в них из базы загружаю данные, при нажатии на кнопку "Удалить", удаляется вся строчка в базе (все эти Edit`ы).
Prm я так понимаю параметр, но в приведенном коде удаляется только одна запись, а мне надо чтобы все данные из Edit`ов удалились из базы. В принципе, можно написать Parameters.ParamByName('Prm1').Value:=Edit1.Text;//какой то параметр столько штук, сколько надо, но тогда не понятно с Prm. Эта строка будет одна или тоже столько же, сколько и Edit`ов? |
| Автор: pseud 1.8.2007, 23:57 | ||||||||||
новая запись:
изменение записи
удаление записи
Добавлено через 5 минут и 54 секунды
в итоге какой нить впервые появившийся на форуме гуру по БД глянет на слово "Новичкам" и пропустит мио ушей, и в итоге не зайдет, не прочтет, не научит. да и каша выходит небольшая иногда в основных разделах такое затишье, что хочется хоть простые вопросы пощупать |
| Автор: Rodman 2.8.2007, 08:43 |
про удаление ты правильно понял... так если тебе надо несколько записей удалить - повторяй сколько надо и передавай нужные параметры!!! и почитай внимательно разницу между INSERT и UPDATE... pseud правильно сказал, а ты я вижу путаешься!!! |
| Автор: dilik 3.8.2007, 05:52 |
| Нет, я просто неточно выразился фразой "Как написать процедуру обработки нажатия button, при которой введеные НОВЫЕ данные пользователя сохранялись в базу?", здесь можно подумать о запросе на добавление (INSERT), а мне надо именно на изменение (UPDATE). Спасибо всем, буду пробовать. |
| Автор: dilik 8.8.2007, 08:59 |
| А как сделать так, чтобы при нажатии на кнопки DBNavigator`а (NbNext и NbPrior), записи менялись в полях. Сейчас я кинул на форму компоненты DBNavigator1 и Query1, и объединил их с помощью DataSource1. Но запись показывается только последняя и не меняется, хотя кнопки NbNext и NbPrior можно клацнуть столько раз, сколько у меня записей в базе. Мои поля: (это не код программы, я просто указываю, какому Edit`у соответствует запись из базы) Edit1.Text:='Fio' Edit2.Text:='Nomer_dogovora' Edit3.Text:='Adres' ComboBox1.Text:='Pol' Edit5.Text:='Telefon' DateTimePicker1.Date:='Data_rojdeniya' Edit7.Text:='Rabota' Edit6.Text:='E-mail' ComboBox2.Text:='Obekt' Edit4.Text:='Rassrochka' |
| Автор: ALeXandrK 8.8.2007, 12:53 | ||
| Для этого есть специальные компоненты DBEdit!!! Но если тебя это не устраивает, тогда пиши в обработчике Query1.OnScroll:
|
| Автор: Gwire 10.8.2007, 20:25 | ||||||||
| На счет "TDBEdit" и "TDBComboBox" я согласен. А вот зачем изменять запрос в "Query1". Конечно, если он выборку делает из одной таблици. Для добавления записи:
Для изменения текущей записи:
Для удаления текущей записи:
Для удаления группы записей:
#39 заменяет символ ' |