|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ADOQuery.Edit проблемы с редактированием
здравствуйте. база данных состоит из 5 таблиц, в главной таблице поле "табельный номер" ключ, связано с остальными связью один ко многим.при помощи ADOQuery все поля таблиц выводятся в dbgrid,чтобы по щелчку на запись вся инфа заносилась в edit.добавление записи происходит без проблем,а вот с редактированием проблемы. т.е. после того как все данные поместились в edit,некоторые из них редактируются и по нажатию на кнопку сохранить
form2.adoquery1.edit; adoquery1.fieldbyname('dfhv').asstring:=edit1.text ; ....перечисляем поля из всех таблиц ... form2.adoquery1.post; вылетает ошибка "недостаточно сведений о ключевом столбце для обновления" т.е. если правильно думаю, проблема в ключах,но тогда почему работает добавление. посоветуйте,что делать?? |
#2
|
||||
|
||||
Код:
ADOQuery.close; ADOQuery.SQL.Clear; ADOQuery.SQL.Add('INSERT INTO tabl (pole1, pole2) VALUES (' + QuotedStr(edit1.text) + ', ' + QuotedStr(edit2.text) + ')'); try dm.ADOQuery.ExecSQL; except begin messageDlg('Ошибка вставки записи SQL', mtError, [mbOK], 0); exit; end; end; Я за здоровый экстрим! Спасибо за "спасибо") Последний раз редактировалось Mrak, 29.03.2013 в 15:49. |
#3
|
|||
|
|||
ADOQuery.SQL.Add('INSERT INTO tabl (pole1, pole2) VALUES (' + QuotedStr(edit1.text) + ', ' + QuotedStr(edit2.text) + ')');
получается в моем случае,через запятую перечисляются все таблицы,а потом все столбцы?? |
#4
|
||||
|
||||
Я запутался. Давай сначала! У тебя таблицы связаны один ко многим.
Информация из Столбца ГЛАВНОЙ таблицы попадает в Edit? и ты хочешь её изменять? |
#5
|
||||
|
||||
Цитата:
http://www.mysql.ru/docs/ в помощь Я за здоровый экстрим! Спасибо за "спасибо") |
#6
|
|||
|
|||
5 таблиц связаны,я нажимаю на строку dbgrid, в которой содержится вся информация о сотруднике со всех 5 таблиц.получается, что все данные заносятся в editЫ. редактирую некоторые из них,ну и ошибка описана выше((
|
#7
|
||||
|
||||
Цитата:
Я за здоровый экстрим! Спасибо за "спасибо") |
#8
|
|||
|
|||
через editЫ делаю для того,чтобы пользователю было более наглядно и понятно что и куда добавлять
|
#9
|
||||
|
||||
Ну я надеюсь ты через DBEditЫ это делаешь, каждый из которых связан со своим полем? Если да, то ошибку отследить проще.
Можешь сделать дамп скелета своей базы? (без инфы) или если нет секретной инфы, весь дамп прикрепить. |
#10
|
||||
|
||||
по идее, когда в дбедите появляется текст, к нему можно обратиться через dbedit1.text и ее сохранить обратно в базу
топикстартер, пробуй как я писал через запрос а какая СУБД? Я за здоровый экстрим! Спасибо за "спасибо") |