Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.12.2012, 12:17
Melenium Melenium вне форума
Прохожий
 
Регистрация: 26.11.2012
Сообщения: 7
Репутация: 10
По умолчанию Ошибка 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  
Старый 11.12.2012, 14:32
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

А это поле там действительно есть? Вы уверены, что DBEdit29.DataSource.Dataset смотрит именно на ту таблицу?
И у Вас этот метод - реакция на нажатие любой кнопки навигатора - ну хотя бы проверяйте, что нажата кнопка именно Insert/Edit.
А если протелепатировать ..............................
Вот Вы проверяете DataSource2.DataSet = mySQLTable3 и зачем то меняете поле у DBEdit29. Затем, наверное, в каком-то другом месте перенацеливаете DataSource2 на другую таблицу. А поле у DBEdit29 остаётся 'Lic_schet'. А у новой таблицы такого поля нет.
Ответить с цитированием
Этот пользователь сказал Спасибо icWasya за это полезное сообщение:
Melenium (13.12.2012)
  #3  
Старый 11.12.2012, 20:24
Melenium Melenium вне форума
Прохожий
 
Регистрация: 26.11.2012
Сообщения: 7
Репутация: 10
По умолчанию

я могу ошибатся, как я понимаю 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;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:01.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter