Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi и базы данных

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
said
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
#1

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

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

Добрый день!

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

Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2010, 00:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос KeyDown - и запись добавляется. Как избежать? (Delphi БД):

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

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

Не добавляется запись - Delphi БД
Вот в чем проблема, есть 3 формы. На одной есть 2 dbgrid`а(один ко многим). На двух других формах кнопки для добавления записей в dbgrid`ы....

Не добавляется выбранная запись в Combobox - Delphi БД
Items загружается из .txt, ComboBox используется для фильтра в таблице. Так вот при выборе в ComboBox значения фильтр срабатывает но само...

Не добавляется запись, из-за поле счётчика - Delphi БД
Почему выдаёт ошибку помогите? 0 полем, является поле Code, в access тип данных счётчик. Не хочет его автоматически заполнять. if...

Не добавляется новая запись в dbgrid через sql запросы - Delphi БД
procedure TF_KMR.ToolButton1Click(Sender: TObject); Var kmr:string; begin Q2.Close; Q2.DatabaseName:='ARENA_'; ...

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

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

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

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

А из другой формы - еще проще.
Вы сначала заполняете форму данными и при нажатии кнопки "ОК" заполняете таблицу.
Так и делаю. но при перемещении в теукщей таблице добавляется строка после последней записи
0
DenProx
Техник
310 / 168 / 5
Регистрация: 09.10.2009
Сообщений: 3,057
06.02.2010, 15:31 #7
said, тогда попробуйте использовать Грид из библиотеки EhLib, там вроди бы не добавляется запись... точно не помню)
1
said
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
06.02.2010, 15:34  [ТС] #8
Именно этот компонент и использую - добавляется.
Пока ничего придумать не могу.....
0
Андрей Борисови
708 / 396 / 18
Регистрация: 04.10.2009
Сообщений: 1,683
06.02.2010, 16:43 #9
Это основное свойство грида..
0
said
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
06.02.2010, 17:08  [ТС] #10
И как быть?
0
Ex_Soft
107 / 107 / 3
Регистрация: 28.01.2009
Сообщений: 481
06.02.2010, 20:00 #11
Цитата Сообщение от 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
said
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 38
07.02.2010, 17:03  [ТС] #12
Ну что, форумчане?? Никак??

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

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

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

Спасибо!
0
Lord_Voodoo
Супер-модератор
8594 / 2210 / 61
Регистрация: 07.03.2007
Сообщений: 10,970
Завершенные тесты: 1
08.02.2010, 01:54 #15
said, закрой грид от редактирования
1
08.02.2010, 01:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2010, 01:54
Привет! Вот еще темы с ответами:

Как избежать совпадений в базе данных? - Delphi БД
Здравствуйте! Пытаюсь написать код для избежания совпадений полей в базе данных. НО НЕ ПОЛУЧАЕТСЯ Исходные edit1, edit2 Ключ в БД...

как избежать одинаковых манипуляций со всеми полями - Delphi
Делаю "словарик" для проги .. в котором в уникальных экземплярах предоставлены динамические объекты .. возьмем отсюда поле с уникальными...

Как избежать синхронной работы двух ICQ-ботов на разных ПК - Delphi
Есть ICQ бот с одним юином. И этот бот запущен на 2-х копьютерах. Отсылая команды отвечают оба бота(компа). Подкиньте мысль, как...

KeyDown - Delphi
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var i:integer; begin i:=strtoint...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru