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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2013, 18:06   #1
sergeant94
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 27
По умолчанию Ошибка в программе с базой

07062013174.jpg
Вложение 61179

Тут фотография с заданием на мою практику, которая скоро заканчивается и весь мой проект, знаю что вы увидите в нем множество типичных ошибок для новичков, но все таки он работал, только вот после написания кода на 5 форме, начали появлятся ошибки, вообщем помогите устранить ошибку..если я сам не смогу, надежда на этот сайт..

Последний раз редактировалось sergeant94; 12.06.2013 в 21:42.
sergeant94 вне форума Ответить с цитированием
Старый 12.06.2013, 19:26   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Не не парень, я шею ломать себе не буду.
Код тегом "КОД" в студию, и ошибки которые возникают тоже в студию.

Телепаты телепортировались в никуда.
Человек_Борща вне форума Ответить с цитированием
Старый 12.06.2013, 19:50   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

У-у-у. BDE и paradox. Сомневаюсь, что кто-то будет тестить. Лучше показывай куски кода и полный текст ошибок. Там кода того считай что и нет. А так сразу вопрос - кто будет метод Edit вызывать перед редактированием?
Код:
procedure TForm5.Button1Click(Sender: TObject);
begin
     dmg.clients.FieldValues['kol']:=1;
     dmg.clients.post;
     DBEdit7.Text:=dmg.clients.FieldValues['CLId'];
     DBEdit8.Text:=dmg.clients.FieldValues['Fam'];
     dmg.active_rooms.post;
    close;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.06.2013, 21:48   #4
sergeant94
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 27
По умолчанию

на счет эдита это я просто так сделал, то что ты выделил вроде бы работает, но у меня основная проблема не в этом, у меня программа вообще перестала запускаться вот что пишет
project Pr_gost.exe raised exception class EAccessViolation with message 'Access violation at address 004E618E in module 'Pr_gost.exe'. Read of address 0000030C. Process stopped. Use Step or Run to continue.

шею не ломай) исправил, но это просто на всякий случай смысл понять что от меня требуется, я вообще хочу найти причину ошибки, а иногда не выходит ошибка просто статус Running стоит и все, типа грузится, главная форма даже не появляется. дело в том что я не знаю где ошибка, все работало, а потом когда работал в 5 форме, пытался сделать фильтры для комбобокс, чтобы его итемы создавались, от выбора других комбобоксов, все они связаны с таблицы, ну короче, ну вообщем потом вдруг перестало все работать, когда выходит ошибка
project Pr_gost.exe raised exception class EAccessViolation with message 'Access violation at address 004E618E in module 'Pr_gost.exe'. Read of address 0000030C. Process stopped. Use Step or Run to continue.
после того как все закоментили убирать комментарии, начал запускаться, потихоньку.. ругается на:
Код:
procedure TDMG.roomsFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
     IF form1.edit2.visible=true then
     accept:=(dmg.rooms.FieldValues['number'])=form1.Edit2.Text;

     IF form3.RadioButton1.Checked=true then
     Accept:=(dmg.rooms.FieldValues['comfort'])='îáû÷íûé';

     IF form3.RadioButton2.Checked=true then
     Accept:=(dmg.rooms.FieldValues['comfort'])='ïîëóëþêñ';

     IF form3.RadioButton3.Checked=true then
     Accept:=(dmg.rooms.FieldValues['comfort'])='ëþêñ';

      IF form4.cb2.Checked=true then
     accept:=(dmg.rooms.FieldValues['number'])=form4.Edit2.Text;

     IF Form5.cb1.Checked=true then
     begin
     accept:=((dmg.rooms.FieldValues['comfort'])=form5.DBComboBox1.text) and
       ((dmg.rooms.FieldValues['kol'])=form5.DBComboBox2.text);
     form5.DBComboBox3.items.Add(dmg.rooms.FieldValues['number']);
     end;
end;
а до этого ругался на
Код:
IF form1.edit2.visible=true then
     accept:=(dmg.rooms.FieldValues['number'])=form1.Edit2.Text;
сейчас
Код:
IF form3.RadioButton1.Checked=true then
     Accept:=(dmg.rooms.FieldValues['comfort'])='îáû÷íûé';
закоментил появился такая ошибка
An error occured while attempting to initialize the Borland Database Engine (error $2501)
после нее уже так project Pr_gost.exe raised exception class EAccessViolation with message 'Access violation at address 004D618E in module 'Pr_gost.exe'. Read of address 00000310. Process stopped. Use Step or Run to continue. и начал ругатся на
Код:
IF form3.RadioButton2.Checked=true then
     Accept:=(dmg.rooms.FieldValues['comfort'])='ïîëóëþêñ';
на другиее такие же фильтры не ругается..и до этого он работал, все эти ифы закоментил запускуается. что подскажете люди?

Последний раз редактировалось Stilet; 12.06.2013 в 22:33.
sergeant94 вне форума Ответить с цитированием
Старый 12.06.2013, 23:05   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Для начала сделай Connected=False в TDateBase. И попробуй соединяться с базой в TForm1.FormActivate. И
Код:
Application.CreateForm(TForm1, Form1);
поставь перед
Код:
Application.Run;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.06.2013, 10:56   #6
sergeant94
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 27
По умолчанию

если под connected ты имеешь ввиду active то все что ты написал, так и стоит..блин неужели мне никто не поможет

а все, Database connected false стоит..

проблема решена..в свойствах table filtered стоял true..теперь запускается все

подскажите как можно сделать чтобы в DBComboBox3 появились номера гостиницы(это поле number с типом Alpha таблицы rooms.db), отфильтровавшихся по DBComboBox1 и DBComboBox2(когда там пользователь выберет комфортность(komfort - Alpha-rooms.db) и количество человек в номере(kol - number - rooms.db)) естесственно, после выбора DBComboBox1 и DBComboBox2, надо занести в DBComboBox3 итемы для выбора номера то же поле number. Вообщем это все одна таблица, только на другой форме, для регистрации клиента.

я понимаю что не настолько начитан, чтобы все понятно объяснить, ну я страюсь) это мой первый проект, идет практика осталось не много, а мне еще по ней писать распечатку, может кто знает предмет ТРПО, там тоже куча делов..так что спрашивайте, что не понятно, ну главное помогите, буду очень благодарен

Код:
procedure TForm5.DBComboBox3Click(Sender: TObject);
begin
     cb1.Checked:=true;
     dmg.rooms.filtered:=true;
end;
Код:
procedure TDMG.roomsFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
     IF Form5.cb1.Checked=true then
    begin
     accept:=((dmg.rooms.FieldValues['comfort'])=form5.DBComboBox1.text) and
       ((dmg.rooms.FieldValues['kol'])=form5.DBComboBox2.text);
     form5.DBComboBox3.items.Add(dmg.rooms.FieldValues['number']);
     end;
end;
но код не работает, помогите что исправить или как вообще сделать лучше

отзовитесь людии(((

Последний раз редактировалось Stilet; 13.06.2013 в 12:11.
sergeant94 вне форума Ответить с цитированием
Старый 13.06.2013, 12:14   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
чтобы в DBComboBox3 появились номера гостиницы
Если номера берутся из таблицы, то нужно использовать не DBComboBox а DBLookupComboBox, который по ключевому значению выводит список из таблицы.
Я сразу признаюсь: С DB компонентами не работаю вообще, и делал бы это SQL запросами, так что врядли что скажу дополнительно, но в ненужности DBComboBox уверен на 100%
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.06.2013, 12:38   #8
sergeant94
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 27
По умолчанию

спасибо хоть какойто прогресс, sql как то не проходил, я вообще в делфи толком не работал, паскаль только проходил, так что благодаря этому проекту только начал потихоньку понимать что к чему, просто в колледже писали базу данных, я только под конец появился, когда уже ничего не понятно, но там работали с paradox и этими компонентами
sergeant94 вне форума Ответить с цитированием
Старый 13.06.2013, 13:32   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Тогда тебе срочно нужна книжка по компонентам Делфи. особенно по DB компонентам.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если есть ЕХЕ, который работает с mySQL базой и сайт тоже с базой. Можно ли прикрутить ЕХЕ на сторону сервера? TwiX Софт 1 18.11.2011 16:14
Странная ошибка соединения с базой данных tumanovalex C# (си шарп) 6 13.05.2011 22:10
Ошибка при запуске программы с базой данных Kreadlling БД в Delphi 2 05.04.2011 11:57
Ошибка "Invalid Enum Value" TAdoConnection с базой VFP Аватар БД в Delphi 1 07.12.2010 17:54
Нет коннекта с базой с где ошибка ?? Thugmaster Общие вопросы .NET 10 07.09.2010 17:47