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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2014, 01:49   #21
Valentina10121991
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 34
По умолчанию

Спасибочки, а я то как рада Честно, честно мой код Я просто сначала запуталась с Table и Query когда Вы спросили,пошла перепроверять. В следующий раз попытаюсь точнее обрисовывать проблему. Спасибо за помощь
Valentina10121991 вне форума Ответить с цитированием
Старый 17.06.2014, 02:09   #22
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Радость

Пожалуйста!
Цитата:
Сообщение от Valentina10121991 Посмотреть сообщение
Я просто сначала запуталась с Table и Query
Ничего страшного, с кем не бывает.. Все мы тоже были когда-то новичками...
Цитата:
В следующий раз попытаюсь точнее обрисовывать проблему
Это правильно. Чем полнее и точнее описание вопроса, тем быстрее придёт ответ и тем качественнее он будет.
Streletz вне форума Ответить с цитированием
Старый 17.06.2014, 03:49   #23
Valentina10121991
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 34
По умолчанию

Подскажите пожалуйста какая здесь ошибка?
Код:
procedure TForm2_books.BitBtn3Click(Sender: TObject);
begin
  if DBGrid1.DataSource.DataSet.RecordCount<>0 then
    begin
      if (MessageBox(Handle, PChar('Вы уверены что хотите удалить эти записи?'), PChar('Внимание!!!'), MB_YESNO)) then
        ADOQuery1.Delete;
    end
        else ShowMessage ('Нет записей для удаления');
end;
end;
Valentina10121991 вне форума Ответить с цитированием
Старый 17.06.2014, 06:54   #24
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

У ADOQuery вроде нет метода Delete, он есть у Table
superedward вне форума Ответить с цитированием
Старый 17.06.2014, 10:21   #25
Valentina10121991
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 34
По умолчанию

Выходит ошибка Type of expression must be BOOLEAN
ругается вот на эту строчку
Код:
if (MessageBox(Handle, PChar('Вы уверены что хотите удалить эти записи?'), PChar('Внимание!!!'), MB_YESNO)) then
Valentina10121991 вне форума Ответить с цитированием
Старый 17.06.2014, 10:27   #26
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

MessageBox F1 и смотреть какой тип функция возвращает
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.06.2014, 16:10   #27
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар
MessageBox F1 и смотреть какой тип функция возвращает
позволю себе немножко нарушить учебный процесс подсказкой...

Valentina10121991, функция MessageBox возвращает, что выбрал пользователь.
думаю, что в вашем случае ожидался примерно такой код:
Код:
if (MessageBox(Handle,
     PChar('Вы уверены что хотите удалить эти записи?'),
                              PChar('Внимание!!!'), MB_YESNO))= IDYES then
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.06.2014, 16:32   #28
Valentina10121991
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 34
По умолчанию

Да, спасибо, с этим я уже разобралась
Valentina10121991 вне форума Ответить с цитированием
Старый 17.06.2014, 22:57   #29
Valentina10121991
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 34
По умолчанию

Вот еще такая проблемка по фильтрации. Код фильтрует только текстовые поля. А как фильтровать числовые я что то найти не могу
Код:
procedure TForm2_books.Edit1Change(Sender: TObject);
begin
  ADOQuery1.Filtered:=false;
    if (Edit1.Text<>'') then
      begin
        ADOQuery1.Filter:='('+ PChar(TObject(ComboBox1.Items.Objects[ComboBox1.ItemIndex])) +' LIKE ''%' +Edit1.Text + '%'')';
        ADOQuery1.Filtered:=true;
      end;
end;
Valentina10121991 вне форума Ответить с цитированием
Старый 18.06.2014, 00:32   #30
Valentina10121991
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 34
По умолчанию

Если в той процедуре меняю LIKE на = выводит только полное совпадение числового поля
Код:
ADOQuery1.Filter:='('+ PChar(TObject(ComboBox1.Items.Objects[ComboBox1.ItemIndex])) +' =' +Edit1.Text + ')';
А как сделать так что бы фильтровались поля по частичному совпадению, вне зависимости какое поле выбрано в ComboBox числовое или текстовое

Последний раз редактировалось Valentina10121991; 18.06.2014 в 20:08.
Valentina10121991 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление нумерации строк в DBGrid Denis Black БД в Delphi 3 28.05.2012 19:42
Обновление данных DBGrid DS75 БД в Delphi 24 02.11.2011 22:38
DBGrid и обновление данных в БД a_n_n_a БД в Delphi 1 02.08.2011 18:02
DBGrid запись и обновление a_n_n_a БД в Delphi 0 09.04.2011 06:03
Обновление DBGrid + ADOQuery Demonk БД в Delphi 11 04.02.2009 13:42