Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38

KeyDown - и запись добавляется. Как избежать?

06.02.2010, 00:21. Показов 2579. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

При перемещении курсора ниже последней записи в таблице базы данных происходит добавление новой записи. Если внести в ячейку какое-нибудь значение, то достаточно перейти на любую другую строку таблицы, чтобы произошло сохранение записи и добавление ее в таблицу базы данных.
Как этого избежать?

Спасибо!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.02.2010, 00:21
Ответы с готовыми решениями:

DbCtrlGrid: при скролле до конца автоматически создается новая пустая запись. Как этого избежать?
Уважаемые форумчане! Столкнулся с проблемой при работе с DBCtrlGrid: при скролле до конца автоматически создается новая пустая запись. как...

Не добавляется запись в бд
Поставил денвер. Создал в phpmyadmin бд "news" и таблицу "homepage". Если в phpmyadmin запустить INSERT INTO homepage(id, title, img,...

Не добавляется запись в БД
Не могу добавить запись в БД, чтобы данные брались с формы. Форма главная index.php <form action="save_form2.php"...

22
 Аватар для Андрей Борисови
714 / 402 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
06.02.2010, 00:45
Возможно отследить KeyPress и Row таблицы и запретить ввод...
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
06.02.2010, 00:49  [ТС]
каким образом? у меня таблица заполняется из другой формы
0
 Аватар для Андрей Борисови
714 / 402 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
06.02.2010, 13:42
Цитата Сообщение от said Посмотреть сообщение
При перемещении курсора ниже последней записи в таблице базы данных происходит добавление новой записи.
Я так понял, что вы вручную двигаетесь по таблице...

А из другой формы - еще проще.
Вы сначала заполняете форму данными и при нажатии кнопки "ОК" заполняете таблицу.
1
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
06.02.2010, 13:49
said, дак вы поставте значение ReadOnly = True, вродибы должно помоч...

Добавлено через 22 секунды
для таблицы...
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
06.02.2010, 14:53  [ТС]
нет. так нельзя. у меня в программе, при нажатии на столбец таблицы, появляется диаграмма. нужен другой способ

Добавлено через 2 минуты
Цитата Сообщение от Андрей Борисови Посмотреть сообщение
Я так понял, что вы вручную двигаетесь по таблице...

А из другой формы - еще проще.
Вы сначала заполняете форму данными и при нажатии кнопки "ОК" заполняете таблицу.
Так и делаю. но при перемещении в теукщей таблице добавляется строка после последней записи
0
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
06.02.2010, 15:31
said, тогда попробуйте использовать Грид из библиотеки EhLib, там вроди бы не добавляется запись... точно не помню)
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
06.02.2010, 15:34  [ТС]
Именно этот компонент и использую - добавляется.
Пока ничего придумать не могу.....
0
 Аватар для Андрей Борисови
714 / 402 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
06.02.2010, 16:43
Это основное свойство грида..
0
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
06.02.2010, 17:08  [ТС]
И как быть?
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
06.02.2010, 20:00
Цитата Сообщение от said Посмотреть сообщение
при перемещении в теукщей таблице добавляется строка после последней записи
Цитата Сообщение от help
TCustomDBGrid::ReadOnly
...
When ReadOnly is true, users cannot use the Insert key to insert a new row in the grid or use the Down Arrow key to add a row to the end of the grid.
???
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
07.02.2010, 17:03  [ТС]
Ну что, форумчане?? Никак??

Добавлено через 3 минуты
Цитата Сообщение от Ex_Soft Посмотреть сообщение
???
Спасибо. ща проверю

Добавлено через 3 минуты
Цитата Сообщение от Ex_Soft Посмотреть сообщение
???
Так нельзя. При щелчке на столбще таблицы появляется диаграмма
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
07.02.2010, 19:12
Цитата Сообщение от said Посмотреть сообщение
При щелчке на столбще таблицы появляется диаграмма
ниасилил
0
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
07.02.2010, 19:15  [ТС]
Цитата Сообщение от Ex_Soft Посмотреть сообщение
Добрый день!

При перемещении курсора ниже последней записи в таблице базы данных происходит добавление новой записи. Если внести в ячейку какое-нибудь значение, то достаточно перейти на любую другую строку таблицы, чтобы произошло сохранение записи и добавление ее в таблицу базы данных.
Как этого избежать?

Спасибо!
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
08.02.2010, 01:54
said, закрой грид от редактирования
1
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
08.02.2010, 02:04  [ТС]
Спасибо
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
08.02.2010, 04:58
Можно отследить BeforInsert. Но не уверен, что поможет.
1
Техник
 Аватар для DenProx
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
08.02.2010, 07:15
said, возникла еще такая идея, отслеживать положение выделения, если запись последняя, то закрыть таблицу для редактирования, иначе открыть... в принцыпе, как и советовал taras atavin...
1
 Аватар для Андрей Борисови
714 / 402 / 33
Регистрация: 04.10.2009
Сообщений: 1,686
08.02.2010, 08:06
Я, если чесно, вообще не понимаю, почему у вас добавляется строка, т.к. вы все добавления делаете из дополнительной формы.
1. Если это так и грид вам нужен только для просмотра данных, тогда грид.readonly
2. Если это не так, то сделайте условие на движение стрелки вниз в KeyPress для грида, или сделайте добавление данных через дополнительную форму.
1
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
08.02.2010, 11:42
Цитата Сообщение от Ex_Soft Посмотреть сообщение
Цитата Сообщение от said Посмотреть сообщение
Так нельзя. При щелчке на столбще таблицы появляется диаграмма
ниасилил
Вы не поняли: какая диаграма? чего она появляется?
Цитата Сообщение от Андрей Борисови Посмотреть сообщение
грид.readonly
Дык, советовали ж уже... Грит (см. выше) - не удовлетворяет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.02.2010, 11:42
Помогаю со студенческими работами здесь

Не добавляется запись
Вообщем дело такое, у меня есть 6 таблиц: Марка->Модель->Модификация->Общий каталог->запчасть->заказчик. Так вот, хочу добавить...

Не добавляется запись в бд
Здравствуйте, подскажите почему не добавляется запись в бд? for($i=0; $i<=count($prof_univ3); $i++) { ...

Не добавляется запись
Очень срочно нужна помощь! Какая-то ерунда, элементарно надо добавить запись, но все время появл. ошибка "Could not convert variant of...

Не добавляется запись в бд
При попытки добавления записи в бд возникает следующая ошибка: System.Data.OleDb.OleDbException: "Число содержит синтаксическую...

Не добавляется запись в БД
Не выполняется запрос INSERT INTO. При отладке выдает ошибку Uncaught exception 'PDOException' with message 'SQLSTATE: ... Stack trace: #0...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru