|
0 / 0 / 0
Регистрация: 06.03.2012
Сообщений: 35
|
|
Как добавить, изменить, удалить, посмотреть запись в DBGrid?06.03.2012, 08:41. Показов 57612. Ответов 73
Метки нет (Все метки)
Привет всем!
![]() Помогите, пожааааааалуйста. ![]() Дано: 1. на Form1 расположен DBGrid (2 колонки) и кнопки "добавить", "удалить", "посмотреть" 2. кнопка "добавить" открывает Form3 3. на Form3 расположены Edit1, Edit2, Edit3, Edit4, Edit5, Edit6, Edit7, а также кнопка "ОК" Требуется: 1. При нажатии на кнопку "ОК" в колонки DBGrid'а попадали Edit1 и Edit4 2. При нажатии на кнопку "посмотреть" на конкретной строке открывалась Form3 без возможности редактирования плюс появлялась кнопка "изменить", при нажатии на которую можно было отредактировать и нажать "ОК" 3. При нажатии на кнопку "удалить" вся строка DBGrid'а удалялась
0
|
|
| 06.03.2012, 08:41 | |
|
Ответы с готовыми решениями:
73
Как добавить, удалить или изменить запись в ListBox, чтобы при этом изменения сохранились в базе данных? Как добавить запись в dbgrid Как удалить запись в dbgrid? |
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 06.10.2013, 19:47 | |
|
У таблицы ЛЮДИ есть поле Key1, оно заполняется автоматически.
При добавлении записи в таблицу КОНТАКТЫ значение этого поля надо присвоить полю LinkKey1.
0
|
|
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
|
| 06.10.2013, 19:55 | |
|
FIL, код можно? Мне бы пример в виде кода, а по остальным таблицам я соображу.
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||||||
| 06.10.2013, 21:01 | ||||||
0
|
||||||
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
||||||
| 07.10.2013, 06:35 | ||||||
|
FIL, я извиняюсь,. этот фрагмент кода надо вставлять в кнопку добавления записи или в кнопку Сохранить на форме ввода? Пробовал первое, не срабатывает:
0
|
||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|||||||||||
| 07.10.2013, 09:09 | |||||||||||
|
Можно так:
1
|
|||||||||||
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
||||||
| 07.10.2013, 10:07 | ||||||
|
FIL, получается так: перед стартом AddEditForm мы обнуляем параметр MasterSource, затем во время сохранения мы присваиваем уникальному ключу Key1 из табл. ЛЮДИ значение LinkKey1 из табл. КОНТАКТЫ, а после сохранения в параметр MasterSource заносим обратно LudiSource?
![]() Таааак. А как теперь корректно удалить запись человека вместе с его контактами? ![]() Добавлено через 25 минут Вот такой вариант не работает:
0
|
||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 07.10.2013, 10:41 | |
|
Сначала надо удалить все контакты человека (их может быть несколько), а потом уже запись из таблицы ЛЮДИ.
0
|
|
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
||||||
| 07.10.2013, 10:50 | ||||||
|
FIL, получилось! Надо всего лишь было строки поменять местами:
0
|
||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 07.10.2013, 10:54 | |
|
Записей в таблице КОНТАКТЫ для одного чела может быть несколько или их вообще может не быть, это надо проверять.
0
|
|
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
|
| 07.10.2013, 11:16 | |
|
FIL, сначала надо разобраться как добавить 2-ю запись. Для моего тестового проекта будет достаточно 2-х. На форме есть заготовка. Как при нажатии чекбокса "Ещё" Вставить доп. поле для внесения конт. данных?
0
|
|
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
||||||
| 07.10.2013, 12:28 | ||||||
|
FIL, Кстати, после того как мы изменили код к кнопке Сохранить, кнопка Отменить перестала работать. Её следует подправить аналогичным способом:
0
|
||||||
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
|
| 07.10.2013, 12:33 | |
|
Однако стал наблюдаться неприятный эффект после того как введешь данные нового чел-ка и тут же отменяешь. Контактные данные человека с фамилией Крюгер
, а именно номера телефонов 666-660-66, +7-666-66-66 и его емайл kr@gmail.ru накладываются на конт. данные Сидорова, хотя реально в самой БД все в порядке и когда подвигаешь курсором по DB Grid все становится на свои места . Вот как избавиться от этого глюка? Скриншоты приложил. Первые два скрина - все норм, третий - глюк после отмены добавления новой записи.
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||||||
| 07.10.2013, 13:14 | ||||||
0
|
||||||
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
|||
| 07.10.2013, 14:07 | |||
![]()
0
|
|||
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
|
| 07.10.2013, 19:00 | |
|
Немного доработал форму ввода и сделал форму ввода контактов отдельно. Написал строки кода для связки таблиц и сохранения по аналогии с предыдущем примером. Однако номера телефонов и емайлов корректно сохраняться и отображаться не хотят (на контакты нового чел-ка накладываются контакты остальных людей в базе). См. скриншот.
Помогите найти, где и что я упустил, и, пожалуйста, приводите сразу участки кода, чтобы было понятно о чем речь. Прошу помочь мне разобраться в этом деле, потому что эти баги и нюансы тормозят основное дело.
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||
| 07.10.2013, 20:43 | ||
|
0
|
||
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
|
| 08.10.2013, 07:08 | |
|
FIL, я разделил! См. чуть выше. Но все равно не все гладко. Помоги пжста подправить сохранение. Горю!
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||
| 08.10.2013, 08:47 | ||
. Представь ситуацию, когда ты сохранил контакты и нажал отмену создания чела - что будет?Меню обработки контактов должно быть полностью отделено от меню людей. Добавил чела, сохранил - можешь работать с его контактами, но не раньше.
0
|
||
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
|||||||||||||
| 08.10.2013, 09:14 | |||||||||||||
|
FIL,
Неужели было так трудно подсказать?Теперь осталось допереть как добавить 2-ой телефон или 2-ой емайл для 1-го человека. Для данного дела мне достаточно максимум 2 номера телефона и\или 2 емайла.
0
|
|||||||||||||
|
6 / 6 / 6
Регистрация: 30.04.2012
Сообщений: 216
|
||||||||||||||||
| 08.10.2013, 09:35 | ||||||||||||||||
|
Хотя нет, после
0
|
||||||||||||||||
| 08.10.2013, 09:35 | |
|
Как добавить текущую запись из DbGrid в StringGrid? Как добавить запись в нужную строку DBGrid? Символическая ссылка (удалить/добавить/посмотреть) Четыре кнопки на форме: добавить запись, удалить запись, закрыть, найти запись Как удалить/добавить запись, используя Nhibernate? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|