Автор Вадим задал вопрос в разделе Другие языки и технологии
Добавление строки в DBGrid с использованием технологии ADO. и получил лучший ответ
Ответ от Ирина В[гуру]
Согласна, надо добавить в таблицу, потом редактируйте, если надо.
У Вас есть ADOConnection1, у него есть метод Execute, используйте его с запросом INSERT, например:
ADOConnection1.Execute('INSERT INTO MyTable (....) VALUES (....)');
А потом перегрузите Ваш DBGrid.
Сама давно не юзаю DBGrid: гораздо надежней, получать данные из запроса в свой массив, закрывать dataset, и работать с массивом, а потом выкидывать его обратно в БД.
Ирина В
Просветленный
(48730)
ИМХО Анна Вам посоветовала хороший подход, если юзать DBGrid.
Но ИМХО строку лучше добавлять внутри Вашей формы, перед сохранением непосредственно. Иначе Вам придется удалять строку, если был выход без сохранения. Или как вариант: вставлять пустую строку, но форму открывать НЕ автоматически, а по кнопке "Редактировать", как заполненные строки.
Но предпочитаю не юзать DB-контролы, по причинам надежности, в основном.
перед редактированием надо перейти на нужную строку
Append; з это добавить пустую строку в базу, а не в ДБгрид. ДБГрид отображает то, что в базе, если подключен к ней.
DBGrid - это лишь контейнер для отображения данных источника, в твоём случае это ADOTable, насколько я поняла.
У тебя не совсем верная формулировка задачи, вместо "добавить строку DBGrid" тебе нужно "добавить новую запись в таблицу", тогда всё будет работать нормально, просто подошёл к задаче не с того края.
Сама пишу на делфи 7, но работаю с базами FireBird и использую другие библиотеки.