Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 09:51   #1
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию Добавление записи в бд

Пробую следующий код но выдает ошибку.
dm.Table1.Insert;
dm.Table1.InsertRecord([4,'eee','333',2,2,2,2]);
dm.Table1.Post;
подскажете в чем проблема
Lokos вне форума Ответить с цитированием
Старый 15.12.2009, 10:18   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

В приведенном коде синтаксических ошибок нет.
Скандербег вне форума Ответить с цитированием
Старый 15.12.2009, 10:33   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
подскажете в чем проблема
В коде, ясен пень. Ошибка на каком языке? Почему не привел ее?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.12.2009, 10:41   #4
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

class EDataBaseError with message 'Field' '#' cannot be modified
я так понимаю я не выбрал поле для записи
Lokos вне форума Ответить с цитированием
Старый 15.12.2009, 11:09   #5
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Лучше (зависит от типа базы и логики проекта) применить AppendRecord, без Insert и Post, в которой эти методы уже реализованы (не надо указывать Insert и Post).
В AppendRecord и InsertRecord поля, в которые записываются значения (4, ,еее, ...) подразумеваются неявно, поэтому и выбирать здесь нечего.
Ошибка скорее, из-за того что в таблице значение одного поля (или больше), по какой-то причине не может быть изменено. Причину из приведенной ошибки понять невозможно.
Скандербег вне форума Ответить с цитированием
Старый 15.12.2009, 12:01   #6
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

так же пробовал с appendrecord заместо insert ошибка таже
Lokos вне форума Ответить с цитированием
Старый 15.12.2009, 13:25   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
'Field' '#' cannot be modified
Что за имя поля - '#' ?
Возможно, оно автоинкрементное - поэтому и выдает эту ошибку.
mihali4 вне форума Ответить с цитированием
Старый 15.12.2009, 13:26   #8
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

да оно именно такое

13:31

mihali4 - спасибо все получилось когда убрал с поля автоинкремент

Очень хорошо, но
У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом.
Модератор

Извеняюсь!

Есть другой вопрос как сделать что то вроде обновления что ли а то я кликаю по кнопочки добавить оно добавляется но отбражается в дбгриде только после перезапуска программы

Последний раз редактировалось Stilet; 15.12.2009 в 14:50.
Lokos вне форума Ответить с цитированием
Старый 15.12.2009, 16:36   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
как сделать что то вроде обновления
Ну и напишите
Код:
dm.Table1.Refresh;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма на добавление записи Santosh Microsoft Office Access 4 31.08.2009 15:42
Добавление записи gitzzz Microsoft Office Access 2 23.06.2009 19:30
Добавление записи LLIYT БД в Delphi 15 09.06.2009 18:25
Добавление записи rn6hac БД в Delphi 3 02.06.2009 10:26
Добавление записи.... Droid БД в Delphi 2 04.06.2008 15:50