Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ошибка при запуске программы с базой данных в Delphi 2010

340
05 апреля 2011 года
Fellinggood
170 / / 27.04.2009
Здравствуйте! При запуске программы с базой данных вылетает ошибка
http://www.imagepost.ru/?v=855/1.JPG
Код здесь:
Код:
procedure TFormMain.BitBtn1Click(Sender: TObject);
var s:string;
begin
   if (InputQuery('Ввод группы', 'Группа:', s)) then
   begin
      with dm.q do
         begin
            Active := false;
            SQL.Clear;
            SQL.Add('INSERT INTO GROUPS(NAME_GROUPS) VALUES(');
            SQL.Add(QuotedStr(s) + ')');
            ExecSQL;
         end;
      with dm.SimpleDSGroups do
         begin
            Active := false;
            DataSet.Active := false;
            DataSet.Active := true;
            Active := true;
            Locate('NAME_GROUPS', s, [loCaseInsensitive]);
         end;
      BitBtnEnabled(0);
   end;
end;

procedure TFormMain.BitBtn2Click(Sender: TObject);
var s:string;
begin
   s := InputBox('Редактирование группы', 'Группа:', dm.SimpleDSGroups.FieldByName('NAME_GROUPS').AsString);

   if (s <> '') then
      begin
        with dm.q do
           begin
              Active := false;
              SQL.Clear;
              SQL.Add('UPDATE GROUPS SET ');
              SQL.Add(' NAME_GROUPS= ' + QuotedStr(s));
              // Эту строку выделил пользователь
              SQL.Add(' WHERE ID_GROUPS=' + dm.SimpleDSGroups.FieldByName('ID_GROUPS').AsString);
              ExecSQL;
           end;
        with dm.SimpleDSGroups do
           begin
              Active := false;
              DataSet.Active := false;
              DataSet.Active := true;
              Active := true;
              Locate('NAME_GROUPS', s, [loCaseInsensitive]);
           end;
      end;
end;

procedure TFormMain.BitBtn3Click(Sender: TObject);
begin
   if Application.MessageBox('Вы действительно хотите удалить выделенную запись?',
   'Внимание!!!', MB_YESNO + MB_ICONWARNING) = ID_YES then
      begin
         with dm.q do
            begin
               Active := false;
               SQL.Clear;
               SQL.Add('DELETE FROM STUDENTS ');
               SQL.Add(' WHERE ID_GROUPS=' + dm.SimpleDSGroups.FieldByName('ID_GROUPS').AsString);
               ExecSQL;

               Active := false;
               SQL.Clear;
               SQL.Add('DELETE FROM GROUPS ');
               SQL.Add(' WHERE ID_GROUPS=' + dm.SimpleDSGroups.FieldByName('ID_GROUPS').AsString);
               ExecSQL;
            end;
         with dm.SimpleDSGroups do
            begin
               Active := false;
               DataSet.Active := false;
               DataSet.Active := true;
               Active := true;
            end;

         BitBtnEnabled(0);
      end;
end;



procedure TFormMain.BitBtn7Click(Sender: TObject);
begin
  close;
end;

procedure TFormMain.BitBtnEnabled(i: integer);
begin
  case i of
    0:
      begin
        if dm.SimpleDSGroups.RecordCount = 0 then
          begin
            BitBtn2.Enabled := false;
            BitBtn3.Enabled := false;
          end
        else
          begin
            BitBtn2.Enabled := true;
            BitBtn3.Enabled := true;
          end;
      end;
    1:
      begin
        if dm.SimpleDSGroups.RecordCount = 0 then
          BitBtn4.Enabled := false
        else
          BitBtn4.Enabled := true;
        if dm.SimpleDSStudents.RecordCount = 0 then
          begin
            BitBtn5.Enabled := false;
            BitBtn6.Enabled := false;
          end
        else
          begin
            BitBtn5.Enabled := true;
            BitBtn6.Enabled := true;
          end;
      end;
  end;
end;

procedure TFormMain.FormActivate(Sender: TObject);
begin
  PageControl1.ActivePage := TabSheet1;
  dm.SQLConnection1.Connected := false;
  dm.SQLConnection1.Params.Values['database'] := ExtractFileDir(ParamStr(0)) + '\bd.fdb';
  dm.SQLConnection1.Connected := true;
  dm.SimpleDSGroups.Active := false;
  dm.SimpleDSGroups.DataSet.Active := false;
  dm.SimpleDSGroups.DataSet.CommandText := 'SELECT * FROM GROUPS';
  dm.SimpleDSGroups.DataSet.Active := true;
  dm.SimpleDSGroups.Active := true;
  BitBtnEnabled(0);
end;

procedure TFormMain.PageControl1Change(Sender: TObject);
begin
   if PageControl1.ActivePage = TabSheet2 then
      begin
         BitBtnEnabled(1);
         if dm.SimpleDSGroups.RecordCount = 0 then
            exit;
         with dm.SimpleDSStudents do
            begin
               Active := false;
               DataSet.Active := false;
               DataSet.CommandText := 'SELECT * FROM STUDENTS WHERE ID_GROUPS=' +
               dm.SimpleDSGroups.FieldByName('ID_GROUPS').AsString;
               DataSet.Active := true;
               Active := true;
            end;
      end;
end;

end.

Не подскажете как можно это исправить. Заранее благодарю.
6
06 апреля 2011 года
George
4.1K / / 05.01.2007
А текст ошибки ни о чем не говорит? Очевидно, что Вы не указали путь к БД.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог