Ошибка "Insert содержит неизвестное поле FAM"

Здравствуйте)Такой вопрос, я создала в ADOQwery1 столбцы из другого АDO, а теперь при добавлении он выдает ошибку.
procedure TForm9.Button1Click(Sender: TObject);
begin
  if MessageDlg('Вы уверены в правильности введенных данных?', mtConfirmation,[mbYes,mbNo],0)=mrYes then
  begin
  DataModule1.Ucheba.Close;
  DataModule1.Ucheba.SQL.Clear;
  DataModule1.Ucheba.SQL.Add('insert into Ucheba (Fam,Name,otc,Ins,Zteor,Zpractic,Kolvo_propusk,dopusk) values ('''+DBLookupComboBox2.Text+''','''+MaskEdit2.Text+''','''+MaskEdit3.Text+''','''+DBlookupComboBox1.Text+''','''+ComboBox1.Text+''','''+ComboBox2.Text+''','''+MaskEdit4.Text+''','''+ComboBox3.Text+''')');
  DataModule1.Ucheba.ExecSQL;
  DataModule1.Ucheba.Active:=False;
  DataModule1.Ucheba.SQL.Clear;
  DataModule1.Ucheba.SQL.Add('select * from Ucheba');
  DataModule1.Ucheba.Active:=True;
  if DataModule1.Ucheba.Active=True then begin
  //MessageBox(handle,('Добавление прошло успешно!'),MB_OK);
  //MaskEdit1.Clear;
  MaskEdit2.Clear;
  MaskEdit3.Clear;
  MaskEdit4.Clear;
  end;
  end;
end;
6 ответов

Здравствуйте. У меня 2 ADOQwery.В одной я создала столбы Fam, Name и Otc.Теперь при добавление в измененный ADO у меня выходит ошибка "Insert содержит не известное поле FAM".Не подскажете,как быть?
  if MessageDlg('Вы уверены в правильности введенных данных?', mtConfirmation,[mbYes,mbNo],0)=mrYes then
  begin
  DataModule1.Ucheba.Close;
  DataModule1.Ucheba.SQL.Clear;
  DataModule1.Ucheba.SQL.Add('insert into Ucheba (Fam,Name,otc,Ins,Zteor,Zpractic,Kolvo_propusk,dopusk) values ('''+DBLookupComboBox2.Text+''','''+MaskEdit2.Text+''','''+MaskEdit3.Text+''','''+DBlookupComboBox1.Text+''','''+ComboBox1.Text+''','''+ComboBox2.Text+''','''+MaskEdit4.Text+''','''+ComboBox3.Text+''')');
  DataModule1.Ucheba.ExecSQL;
  DataModule1.Ucheba.Active:=False;
  DataModule1.Ucheba.SQL.Clear;
  DataModule1.Ucheba.SQL.Add('select * from Ucheba');
  DataModule1.Ucheba.Active:=True;
  if DataModule1.Ucheba.Active=True then begin
  MessageBox(handle,('Добавление прошло успешно!'),MB_OK);


В самой адоквери столбцы добавляла? Через AddFields? Надо убрать.


А если я их уберу,то как добавить правильно?


Добавлять их вообще туда не нужно. От слова совсем. Ты их выбираешь запросом Select [список полей таблицы] from имя таблицы. Если необходимо задавать "читаемые" имена полей, например для DBGrid'а, то есть ключевое слово AS. Т.е.
SELECT Fam AS [Фамилия], Name AS [Имя] FROM peoples
Вот собственно и все.


Добавлять их вообще туда не нужно
не соглашусьделайте лучше отдельные компоненты для Select и для Insert,update,delete и оставьте SQL в компоненте в покое, и не надо будет ничего переписывать каждый раз и поля сохраните какие надо вам просто после каждого изменения таблицы нужно будет переоткрыть Selectp.s. people - мн.ч.


Большое спасибо, если будут вопросы по коду,можно я спрошу у вас?)