|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Ошибка Field not found DBEdit
Здравствуйте программисты я новичок в delphi, подскажите пожалуйста почему при добавление строк в БД вылетает ошибка DBEdit29 'Lic_schet' Field not found,
вот код Код:
procedure TschForm.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); begin DBEdit28.Text := id_FIO; DBEdit29.Enabled := false; if DataSource2.DataSet = mySQLTable3 then begin DBEdit29.DataField := 'Lic_schet'; DBEdit29.Text := id_Lic; DBEdit29.Enabled := true; end; if (Button = nbPost) OR (Button = nbDelete) then UpdateDBGrid(); end; Заранее спасибо! Последний раз редактировалось Admin, 11.12.2012 в 12:31. |
#2
|
|||
|
|||
А это поле там действительно есть? Вы уверены, что DBEdit29.DataSource.Dataset смотрит именно на ту таблицу?
И у Вас этот метод - реакция на нажатие любой кнопки навигатора - ну хотя бы проверяйте, что нажата кнопка именно Insert/Edit. А если протелепатировать .............................. Вот Вы проверяете DataSource2.DataSet = mySQLTable3 и зачем то меняете поле у DBEdit29. Затем, наверное, в каком-то другом месте перенацеливаете DataSource2 на другую таблицу. А поле у DBEdit29 остаётся 'Lic_schet'. А у новой таблицы такого поля нет. |
Этот пользователь сказал Спасибо icWasya за это полезное сообщение: | ||
Melenium (13.12.2012)
|
#3
|
|||
|
|||
я могу ошибатся, как я понимаю DBEdit29 принемает значение Lic_schet из Table3 и отдает его таблице в БД, а после есть процедуры переключить на Table1,
Table 2 но что то идет не так и вылетает ошибка я не могу понять что нужно сделать чтобы процедуры работали последоватьельно , подскажте пожалуйста что нужно сделать? вот остольная часть кода Код:
procedure TschForm.UpdateDBGrid(); begin DBEdit29.Enabled := false; case PageControl2.ActivePageIndex of // Выбор вкладки Горячая вода 0 : begin sql_change_page := 'SELECT data, blo, stalo, (stalo-blo), ROUND((stalo-blo) * tarif_g, 2) FROM aqua_g, tarif WHERE id_schetchik_reg = ' + id_FIO; DataSource2.DataSet.Active := false; DataSource2.DataSet := mySQLTable1; DataSource2.DataSet.Active := true; end; // Выбор вкладки Холодная вода 1 : begin sql_change_page := 'SELECT data, blo, stalo, (stalo-blo), ROUND((stalo-blo) * tarif_h, 2) FROM aqua_h, tarif WHERE id_schetchik_reg = ' + id_FIO + ''; DataSource2.DataSet.Active := false; DataSource2.DataSet := mySQLTable2; DataSource2.DataSet.Active := true; end; // Выбор вкладки Канализация 2 : begin sql_change_page := 'SELECT aqua_g.data, ROUND( ((aqua_g.stalo-aqua_g.blo + aqua_h.stalo-aqua_h.blo)) * tarif_k , 2 ) FROM aqua_g, aqua_h, tarif WHERE aqua_g.id_schetchik_reg = ' + id_FIO + ' AND aqua_h.id_schetchik_reg = ' + id_FIO ; end; // Выбор вкладки Тепло 3 : begin sql_change_page := 'SELECT data,blo,stalo,(stalo-blo),ROUND(((stalo-blo)/schet_reg.jil_plosh_t)*Gkal*schet_reg.jil_plosh, 2) FROM teplo, schet_reg, tarif WHERE teplo.Lic_schet = ' + id_Lic + ' AND schet_reg.Lic_schet = ' + id_Lic + ' AND schet_reg.street = "' + id_Street + '" AND schet_reg.house = ' + id_House; DataSource2.DataSet.Active := false; DataSource2.DataSet := mySQLTable3; DataSource2.DataSet.Active := true; end; end; |