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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2009, 14:22   #1
Kamelli
Новичок
Джуниор
 
Регистрация: 16.07.2007
Сообщений: 1
Вопрос добавление данных через DBEdit в разные таблицы

Всем доброго времени суток !!!
У меня вопрос в следующем:
Есть 3 таблицы, adoconnection,соответственно 3 adotable, 3 datasource,3 DBGrid-a.
Далее данные в эти таблицы должны добавляться через DBEdit, но при сохранении Дельфей всегда ругается на то , что индекс или ключне может содержать пустое значение, хотя все поля заполняются стабильно...
В чем может быть пробема ???
Заранее благодарна
Kamelli вне форума Ответить с цитированием
Старый 12.06.2009, 14:53   #2
Gulik
Холост/Не замужем
Форумчанин
 
Аватар для Gulik
 
Регистрация: 13.11.2007
Сообщений: 283
По умолчанию

Покажи код

И к какому DataSource`у лепишь DBEdit

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

Последний раз редактировалось Gulik; 12.06.2009 в 14:56.
Gulik вне форума Ответить с цитированием
Старый 13.06.2009, 14:54   #3
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Данные в три таблицы должны добавляться из одного DBEdit'а?
Если да, то лучше тогда использовать простой edit и например при нажатии кнопки:
Код:
procedure Form1.Button1Click(Sender: TObject);
begin
 ADOTable1.Insert;
 ADOTable1.Edit;
 ADOTable1.FieldByName('ИмяПоля').Value := Edit1.Text;

 ADOTable2.Insert;
 ADOTable2.Edit;
 ADOTable2.FieldByName('ИмяПоля').Value := Edit1.Text;

 ADOTable3.Insert;
 ADOTable3.Edit;
 ADOTable3.FieldByName('ИмяПоля').Value := Edit1.Text;
end;
Можно это и в цикле описать:
Код:
procedure Form1.Button1Click(Sender: TObject);
var
 i: byte;
begin
 for i := 1 to 3 do 
 begin
  (FindComponent(ADOTable + IntToStr(i)) as TADOTable).Insert;
  (FindComponent(ADOTable + IntToStr(i)) as TADOTable).Edit;
  (FindComponent(ADOTable + IntToStr(i)) as TADOTable).FieldByName('ИмяПоля').Value := Edit1.Text;
 end;
end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 15.06.2009, 21:47   #4
sparta_2009
Новичок
Джуниор
 
Регистрация: 15.06.2009
Сообщений: 8
По умолчанию По поводу ключей

Если у Вас не автоинкрементное поле, то решать надо через триггер BeforInsert.

Если поле автоинкрементное, то у вас очевидно не перечитываются данные. Если это сервер, то просто данные автоматической транзакции не передаются в оболочку.

А вообще как присваиваются уникальные значений и какая база (сервер)?
Вообще, за присваивание уникальных значений должен отвечать сервер (во избежание конфликтов).

Цитата:
Сообщение от Kamelli Посмотреть сообщение
Всем доброго времени суток !!!
У меня вопрос в следующем:
Есть 3 таблицы, adoconnection,соответственно 3 adotable, 3 datasource,3 DBGrid-a.
Далее данные в эти таблицы должны добавляться через DBEdit, но при сохранении Дельфей всегда ругается на то , что индекс или ключне может содержать пустое значение, хотя все поля заполняются стабильно...
В чем может быть пробема ???
Заранее благодарна

Последний раз редактировалось sparta_2009; 15.06.2009 в 21:49.
sparta_2009 вне форума Ответить с цитированием
Старый 12.01.2011, 13:41   #5
Choovak
Пользователь
 
Регистрация: 27.12.2010
Сообщений: 17
По умолчанию

А как добавлять через Edit на другую (новую) форму? Как соединить этот Edit с базой данных?
Choovak вне форума Ответить с цитированием
Старый 11.07.2013, 16:09   #6
Program(m)er
Пользователь
 
Регистрация: 01.06.2013
Сообщений: 31
По умолчанию

А что делает Table1.edit?
Program(m)er вне форума Ответить с цитированием
Старый 31.07.2013, 00:58   #7
Gulik
Холост/Не замужем
Форумчанин
 
Аватар для Gulik
 
Регистрация: 13.11.2007
Сообщений: 283
По умолчанию

Цитата:
Сообщение от Program(m)er Посмотреть сообщение
А что делает Table1.edit?
Если не знаешь ответа на такой простой вопрос, тебе нужно литературу читать для начинающих.

Рекомендую http://www.programmersclub.ru/bookbibliya/
Gulik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод данных в разные окна Absent Помощь студентам 0 07.06.2009 13:06
Добавление данных через поле формы porfonya Microsoft Office Excel 2 20.05.2009 20:20
Добавление записей в таблицы Fishb1 Microsoft Office Access 2 26.02.2009 21:45
Добавление данных в таблицы Interbase hijke БД в Delphi 18 22.10.2008 20:52
Добавление в 2 таблицы Dissonance БД в Delphi 5 04.06.2008 23:54