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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2011, 13:51   #11
KingWaR56
Пользователь
 
Регистрация: 25.03.2011
Сообщений: 44
По умолчанию

Оххх )) сделал я эти 54 поля будь они не ладны) Но есть вопросик есть ли способ чтобы бд сама загружалась (ну или выбирала путь там где exe лежит)? а то на другой пк принесёшь и всё, нада путь указывать.
KingWaR56 вне форума Ответить с цитированием
Старый 30.11.2011, 14:02   #12
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

путь к базе, если она лежит рядом с exe
Код:
(ExtractFilePath(Application.ExeName)+'имя файла бд'
но подход не очень, там же ещё придётся сервер interbase ставить.

Можно правда использовать firebird embedded http://www.ibprovider.com/rus/docume.../firebird.html
vovk вне форума Ответить с цитированием
Старый 30.11.2011, 14:17   #13
KingWaR56
Пользователь
 
Регистрация: 25.03.2011
Сообщений: 44
По умолчанию

почитал что то не привлекает )) буду искать другой способ. Спасибо за все Ваши ответы.
KingWaR56 вне форума Ответить с цитированием
Старый 30.11.2011, 14:57   #14
KingWaR56
Пользователь
 
Регистрация: 25.03.2011
Сообщений: 44
По умолчанию

Блин. Обнаружил досадный косяк. Ввожу в форму (там где 54 поля) данные. Всё норм забилось , ввожу ещё другие данные а он мне invalid argument((
Код:
procedure TForm9.btn1Click(Sender: TObject);
begin
IBQuery3.Params.ParamByName('CISTEM_BLOC_IN').Value:=edt18.text;
IBQuery3.Params.ParamByName('CPU').Value:=cbb2.Text;
IBQuery3.Params.ParamByName('DOLJNOST').Value:=edt10.Text;
IBQuery3.Params.ParamByName('EMAIL').Value:=edt11.Text;
IBQuery3.Params.ParamByName('FAM').Value:=edt3.Text;
IBQuery3.Params.ParamByName('HDD_GB').Value:=cbb4.text;
IBQuery3.Params.ParamByName('IP').Value:=medt1.Text;
IBQuery3.Params.ParamByName('KOMNATA').Value:=edt2.text;
IBQuery3.Params.ParamByName('IBP').Value:=cbb7.text;
IBQuery3.Params.ParamByName('IBP_IN').Value:=edt13.Text;
IBQuery3.Params.ParamByName('IBP_CH').Value:=edt14.Text;
IBQuery3.Params.ParamByName('IMYA').Value:=edt3.text;
IBQuery3.Params.ParamByName('IMYA_PC').Value:=edt5.Text;
IBQuery3.Params.ParamByName('MONITOR').Value:=cbb8.Text;
IBQuery3.Params.ParamByName('MONITOR_CH').Value:=edt16.text;
IBQuery3.Params.ParamByName('MONITOR_IN').Value:=edt15.Text;
IBQuery3.Params.ParamByName('OTCHESTVO').Value:=edt8.text;
IBQuery3.Params.ParamByName('OTDEL').Value:=cbb1.Text;
IBQuery3.Params.ParamByName('TELEFON_CH').Value:=edt19.text;
IBQuery3.Params.ParamByName('TELEFON_IN').Value:=edt20.text;
IBQuery3.Params.ParamByName('TELEFON_MODEL').Value:=cbb6.text;
IBQuery3.Params.ParamByName('TELEFON_NOMER').Value:=edt6.text;
IBQuery3.Params.ParamByName('PRINTER').Value:=cbb5.text;
ibquery3.Params.ParamByName('PRINTER_CH').Value:=edt16.text;
IBQuery3.Params.ParamByName('PRINTER_IN').Value:=edt15.text;
IBQuery3.Params.ParamByName('DATA_IZMENENIYA').Value:=medt2.text;
IBQuery3.Params.ParamByName('RAM_MB').Value:=cbb3.text;
IBQuery3.Params.ParamByName('PROCHEE1').Value:=edt21.text;
IBQuery3.Params.ParamByName('PROCHEE1_CH').Value:=edt22.text;
IBQuery3.Params.ParamByName('PROCHEE1_IN').Value:=edt23.text;
IBQuery3.Params.ParamByName('PROCHEE2').Value:=edt24.text;
IBQuery3.Params.ParamByName('PROCHEE2_CN').Value:=edt28.text;
IBQuery3.Params.ParamByName('PROCHEE2_IN').Value:=edt29.text;
IBQuery3.Params.ParamByName('PROCHEE3').Value:=edt30.text;
IBQuery3.Params.ParamByName('PROCHEE3_CN').Value:=edt33.text;
IBQuery3.Params.ParamByName('PROCHEE3_IN').Value:=edt38.text;
IBQuery3.Params.ParamByName('PROCHEE4').Value:=edt36.text;
IBQuery3.Params.ParamByName('PROCHEE4_IN').Value:=edt34.text;
IBQuery3.Params.ParamByName('PROCHEE5_CN').Value:=edt32.text;
IBQuery3.Params.ParamByName('PROCHEE5_IN').Value:=edt31.text;
IBQuery3.Params.ParamByName('PROCHEE6').Value:=edt27.text;
IBQuery3.Params.ParamByName('PROCHEE6_CN').Value:=edt17.text;
IBQuery3.Params.ParamByName('PROCHEE6_IN').Value:=edt4.text;
IBQuery3.Params.ParamByName('PROCHEE7').Value:=edt37.text;
IBQuery3.Params.ParamByName('PROCHEE8').Value:=edt36.text;
IBQuery3.Params.ParamByName('PROCHEE7_CN').Value:=edt39.text;
IBQuery3.Params.ParamByName('PROCHEE7_IN').Value:=edt40.text;
IBQuery3.Params.ParamByName('PROCHEE8').Value:=edt41.text;
IBQuery3.Params.ParamByName('PROCHEE8_CN').Value:=edt42.text;
IBQuery3.Params.ParamByName('PROCHEE8_IN').Value:=edt43.text;
  try
   IBQuery3.ExecSQL;

  except
    Application.MessageBox('Äàííûé êîä ñóùåñòâóåò.','Îøèáêà çàïèñè');
    //ShowMessage('Îøèáêà ïðè äîáàâëåíèè äàííûõ!'+#13+'Ïîïðîáóéòå åùå ðàç.');
    DM.ibtrnsctn1.RollbackRetaining;

    Exit;
  end;
ibqry1.Close;
ibqry1.Open;
ibqry1.Last;

  DM.ibtrnsctn1.CommitRetaining;
end.
KingWaR56 вне форума Ответить с цитированием
Старый 30.11.2011, 16:28   #15
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Можно полностью текст ошибки, при каком точно действии происходит ошибка.
vovk вне форума Ответить с цитированием
Старый 30.11.2011, 16:35   #16
KingWaR56
Пользователь
 
Регистрация: 25.03.2011
Сообщений: 44
По умолчанию

Ошибка вылезает при повторном вводе данных. Проверял на разных полях. Вводил все поля вместе, первый ввод всё ОК , далее ошибка.
http://i077.radikal.ru/1111/6d/956f0fb88f81.jpg ошибка.
KingWaR56 вне форума Ответить с цитированием
Старый 30.11.2011, 16:54   #17
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Я так понимаю, что либо не заполняете обязательное поле,
либо гдето вносится параметр который должен быть числом (или датой, или ещё какойто тип данных) и при вводе в эдит допускается ошибка (ну пробел к примеру в числе, или чтото подобное), используйте лучше нормальные типы, те которые должны быть в базе
К примеру если должно быть число, то записываем не так
Код:
IBQuery3.Params.ParamByName('KOMNATA').Value:=edt2.text;
а так
Код:
IBQuery3.Params.ParamByName('KOMNATA').AsInteger = strtoint(edt2.text);
и желательно проверять валидность данных ещё при вводе, то есть до записи.
vovk вне форума Ответить с цитированием
Старый 30.11.2011, 16:59   #18
KingWaR56
Пользователь
 
Регистрация: 25.03.2011
Сообщений: 44
По умолчанию

Но ведь когда я ввожу первый раз всё отлично заполняется. Как так?
KingWaR56 вне форума Ответить с цитированием
Старый 30.11.2011, 17:08   #19
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Может и ещё раз сработает, а вам надо потом выяснять что же не так произошло, и тут ли ошибка или в другом месте?
по крайней мере привдите данные которые вводите в нужный тип,
будь то snrtoint, StrToDate? и тп.

Последний раз редактировалось vovk; 30.11.2011 в 17:10.
vovk вне форума Ответить с цитированием
Старый 30.11.2011, 17:10   #20
KingWaR56
Пользователь
 
Регистрация: 25.03.2011
Сообщений: 44
По умолчанию

Блин пасиба!!!!!! Всё робит поменял именно комнату как Вы написал) и всё норм. щас всё переделаю.
KingWaR56 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД в Interbase+Delphi KingWaR56 Помощь студентам 3 21.11.2011 21:35
Delphi 7.0 + interbase MikoMika Фриланс 1 29.05.2010 12:40
interbase+delphi KiSH333 БД в Delphi 3 15.08.2008 09:53
Delphi и InterBase -2 Edimus БД в Delphi 5 07.11.2007 14:51
Delphi и InterBase Edimus БД в Delphi 12 06.11.2007 14:18