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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2013, 16:48   #1
sergeant94
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 27
Стрелка ужно написать код на кнопку для регистрации

не работает по человечески код
Код:
IF (FieldValues['DPos']=MonthCalendar1.Date)and(FieldValues['nid']=DBComboBox3.text)and(FieldByName('DOsv').Value=null) then
Нужно сделать так чтобы если в балице active_rooms есть заселенный номер, с датой которую ставят при регистрации, выходила сообщение, о том что такой номер с такой датой не свободен и пользователя поросили изменить выбор. а если такого нету то зарегистрировать. Вот целый код. достаточно неддоработанный, просто то что пытался изменить выходили только одни ошибки. так более менее работает.
Код:
procedure TForm5.Button1Click(Sender: TObject);
begin
      With dmg.active_rooms do
      begin
      first;
        While not eof do
        begin
          IF (FieldValues['DPos']=MonthCalendar1.Date)and(FieldValues['nid']=DBComboBox3.text)and(FieldByName('DOsv').Value=null) then
          begin
          showmessage('Íà ýòî ÷èñëî ýòîò íîìåð íå ñâîáîäåí');
          end;
        next;
        end;
      end;

     IF monthCalendar1.date>(main.today-1) then
     begin
     dmg.clients.FieldValues['kol']:=1;
     dmg.clients.post;
     dbedit7.text:=dmg.clients.FieldValues['CLid'];
     dmg.active_rooms.FieldValues['DPos']:=MonthCalendar1.Date;
     dmg.active_rooms.FieldValues['prim']:=DBEdit6.text + ' (Öåíà çà ñóòêè: ' + Label8.Caption + ')';
     dmg.active_rooms.post;
     close;
     end
     else
     showmessage('Îøèáêà ñ äàòîé.');
     
end;

Последний раз редактировалось sergeant94; 18.06.2013 в 17:04.
sergeant94 вне форума Ответить с цитированием
Старый 18.06.2013, 17:10   #2
sergeant94
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 27
По умолчанию

может как нибудь так
Код:
procedure TForm5.Button1Click(Sender: TObject);
begin
     IF monthCalendar1.date>(main.today-1) then
     begin
     dmg.clients.FieldValues['kol']:=1;
     dmg.clients.post;
     dbedit7.text:=dmg.clients.FieldValues['CLid'];
     dmg.active_rooms.FieldValues['DPos']:=MonthCalendar1.Date;
     dmg.active_rooms.FieldValues['prim']:=DBEdit6.text + ' (Öåíà çà ñóòêè: ' + Label8.Caption + ')';

      With dmg.active_rooms do
      begin
      first;


     Try
          While not eof do
          begin
          IF (FieldValues['DPos']=MonthCalendar1.Date)and(FieldValues['nid']=DBComboBox3.text)and(FieldByName('DOsv').Value=null) then
          begin
          showmessage('Íà ýòî ÷èñëî ýòîò íîìåð íå ñâîáîäåí');
          end;
          next;
          end;
     Except
           dmg.active_rooms.post;
           close;
     end;
//     else
//     showmessage('Îøèáêà ñ äàòîé.');
//      end;
//end;
sergeant94 вне форума Ответить с цитированием
Старый 18.06.2013, 17:12   #3
sergeant94
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 27
По умолчанию

ну не молчите люди..я уже весь день над этой ерунде застрял, было бы время сам бы все делал, просто мне эту программу для практики надо, осталось пару дней, а там кроме программы еще целая куча чего делать, ну помогите, спасибо скажу)
sergeant94 вне форума Ответить с цитированием
Старый 18.06.2013, 18:12   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
не работает по человечески код
а "по человечески код" это как?
опиши нормально свою проблему, ошибки ... тогда кто-то и поможет
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 18.06.2013, 18:34   #5
sergeant94
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 27
По умолчанию

не собираюсь я это объяснять, не важно, главное он не работает, если ты не понял,
а проблема в том что я при нажатии этой кнопки должно проверяться есть ли в таблице, в которую помещают новое поле, уже такое же поле, с таким же номером и с такой же датой поселения, эта программа для гостиницы
sergeant94 вне форума Ответить с цитированием
Старый 18.06.2013, 18:57   #6
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

ну так и проверь нормально, запросом, а не ч\з костыли:
Код:
Query.Close;
Query.SQL.Text := 'SELECT * FROM poselenie WHERE number = :num AND data = :data';
Query.Parameters.ParamByName('num').AsInteger := StrToInt(Edit1.Text);
Query.Parameters.ParamByName('data').AsDate := MonthCalendar1.Date;
Query.Open;
if Query.RecordCount > 0 then 
  ShowMessage('Данный номер занят. Выберите другой');
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 18.06.2013, 19:23   #7
sergeant94
Пользователь
 
Регистрация: 10.06.2013
Сообщений: 27
По умолчанию

у меня TTable и datasource...
люди ну помогите последняя проблема..и проект написан. весь день сижу

Последний раз редактировалось sergeant94; 18.06.2013 в 19:25.
sergeant94 вне форума Ответить с цитированием
Старый 18.06.2013, 19:42   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

sergeant94 MonthCalendar1.Date возвращает дату со временем. Мог бы в отладке давным-давно это увидеть. Надо же "весь день сижу". Чистая дата
Код:
var d: TDateTime;
...
d:=Trunc(MonthCalendar1.Date);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.06.2013, 19:56   #9
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
у меня TTable и datasource...
ну так реши эту проблему - создай еще TQuery
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 18.06.2013, 19:59   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
не собираюсь я это объяснять, не важно, главное он не работает, если ты не понял,
С такими подходами не фиг на форумах помощи просить. Обычно и не дают. Жаль сразу не обратил внимания
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
код регистрации прошу Henri C# (си шарп) 2 16.03.2013 23:40
как написать код на кнопку на C#???? WhiteN Помощь студентам 0 08.05.2010 14:10
Никак не могу написать код для..... PayBack Общие вопросы C/C++ 2 07.07.2008 13:55
Как написать код для блокировки Михаил Юрьевич Общие вопросы Delphi 6 19.01.2008 09:50