Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 15

База данных фильтр, сумма, обработчик исключений

14.03.2012, 12:00. Показов 3525. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые программисты у меня небольшая база данных, фильтрую информацию, надо сложить данные отфильтрованные и отразить в edit, все ровно, если в ячейке есть число, а если нет программа вылетает, что сделать в коде, чтобы пустую ячейку программа пропускала, а остальное считала вот мой код он работает, помогите с пустыми ячейками пожалуйста...

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
procedure TFormproects.Button2Click(Sender: TObject);
var
s,c:variant;
begin
 //фильтр
    adodataset1.Filtered:=false;
    adodataset1.Filter:='data  like ''%' + formproects.Edit1.Text+'%''';
    adodataset1.Filtered:=true;
    if adodataset1.RecordCount=0 then
    begin
        //в базе данных нет записей удовлетворяющих критерию запроса
        adodataset1.Filtered:=false;
        showmessage('В БД нет записей, удовлетворяющих критерию запроса.');
    end;
    ADOdataset1.IndexFieldNames;
    s:=0;
    While not ADOdataset1.Eof do
    begin
        c:=ADOdataset1.FieldValues['kosvennie'];
 
        s:=c+s;
        ADOdataset1.Next;
    end;
    dbedit1.text:=vartostr(s);
 
end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.03.2012, 12:00
Ответы с готовыми решениями:

Обработка исключений. Как организовать общий обработчик исключений?
У меня есть последовательность вызова методов для внесения данных в таблицу БД. Сам метод внесения данных. Он генерирует исключение ...

Фильтр на php + база данных
Всем привет. Написал код, который должен выводить картинки, в зависимости от того, что выбрали в фильтре, но работать он что-то так хочет....

База данных и поиск (фильтр)
Хочу организовать поиск по БД Подскажите, что я не так делаю? procedure TForm1.SEditClick(Sender: TObject); var s: string; ...

34
45 / 44 / 2
Регистрация: 06.02.2012
Сообщений: 147
21.03.2012, 12:33
Студворк — интернет-сервис помощи студентам
тип поля какой? именно в базе?

Добавлено через 18 секунд
ща все заработает )))
0
332 / 85 / 16
Регистрация: 10.01.2011
Сообщений: 516
Записей в блоге: 1
21.03.2012, 12:51
привет всем. кто может маленький инструктаж по Database Desktop провести) и показать простые функции добавления вывода удаления (в целом работу с дб)? ася 444571411 спасибо заранее)
0
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 15
21.03.2012, 13:16  [ТС]
сама база это acces майкрософта, а путь к ней осуществляет DBGrid, какой тип поля, когда он пустой
я не знаю
0
45 / 44 / 2
Регистрация: 06.02.2012
Сообщений: 147
21.03.2012, 13:21
мда...
выложи базу и скажи имя таблицы с который мы сейчас работаем.
0
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 15
21.03.2012, 13:30  [ТС]
microsoft office Access 2007, файл proects.mdb (2003 года формат), сам файл не хочет выкладывать

Добавлено через 1 минуту
спасибо что помогаешь, уже две недели не получается решить данный вопрос уже отчаялся )))
0
45 / 44 / 2
Регистрация: 06.02.2012
Сообщений: 147
21.03.2012, 13:39
Не обижайся, но я в шоке. Как ты бля разрабатываешь, если не знаешь даже типов полей, с которыми работаешь?!?!?!
Можешь в конструкторе открыть эту таблицу и посмотреть какой тип стоит у этого поля?!

Добавлено через 5 минут
Delphi
1
s:=0;
замени на
Delphi
1
s:='';
0
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 15
21.03.2012, 13:43  [ТС]
я экономист, сейчас пытаюсь прокачать компетенцию по программированию, вот тренируюсь )))) пообещал базу данных сделать, сейчас дураком себя чувствую, пытаюсь ситуацию исправить
0
45 / 44 / 2
Регистрация: 06.02.2012
Сообщений: 147
21.03.2012, 13:47
Заменил? результат?
0
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 15
21.03.2012, 13:51  [ТС]
вот файл, я с ним работаю с помощью dbgrid,больше не чем помочь, где смотреть какой тип данных не знаю, уже все излазил
Вложения
Тип файла: rar proects.rar (14.4 Кб, 9 просмотров)
0
 Аватар для HyperZen
498 / 251 / 56
Регистрация: 16.06.2011
Сообщений: 904
21.03.2012, 13:58
Типы полей выставляются при проектировании базы данных. Зайди в MSAccess в режиме конструктора, увидишь, что все типы полей у тебя - текстовые. Поэтому, для работы с ними как с числами, сначала используй преобразование типа нужной переменной (например StrToInt()), или, что лучше, замени текстовые переменные в БД, которые должны быть числовыми на числовые.
0
45 / 44 / 2
Регистрация: 06.02.2012
Сообщений: 147
21.03.2012, 14:09
ааааауууууу!
Цитата Сообщение от steel_tiger Посмотреть сообщение
Delphi
1
s:=0;
замени на
Delphi
1
s:='';
заменил??

Добавлено через 8 минут
короче!
да простят меня за гавнокод...
ибо не во зло, а с благими намерениями...
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
procedure TFormproects.Button2Click(Sender: TObject);
var
//s,c:variant; не делай так, если знаешь тип данных
s: string;
c: string;  /// [TODO] изменить на int
begin
//фильтр
adodataset1.Filtered:=false;
adodataset1.Filter:='data like ''%' + formproects.Edit1.Text+'%''';
adodataset1.Filtered:=true;
if adodataset1.RecordCount=0 then
begin
//в базе данных нет записей удовлетворяющих критерию запроса
adodataset1.Filtered:=false;
showmessage('В БД нет записей, удовлетворяющих критерию запроса.');
end;
ADOdataset1.IndexFieldNames;
s:='';
While not ADOdataset1.Eof do
begin
if (ADOdataset1.FieldByName('kosvennie').Value <> null) and (ADOdataset1.FieldByName('kosvennie').Value <> '')  then ///////
begin
   try
      c:=ADOdataset1.FieldByName('kosvennie').asString; //TODO] Change to asInteger 
   finally
      s:=c+s; // [TODO] add IntToStr
   end;
end;
ADOdataset1.Next;
end;
edit3.text:=s;  //
 
end;
Добавлено через 41 секунду
комментарии на случай если приведешь тип данных к числовому...
1
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 15
21.03.2012, 14:16  [ТС]
получилось, только он не сложил результат в edit а просто все числовые значения перечислил, только без запятой

Добавлено через 38 секунд
а если это гавнокод, то какой нормальный есть??? я бы тоже хотел нормальный код знать???
0
45 / 44 / 2
Регистрация: 06.02.2012
Сообщений: 147
21.03.2012, 14:49
чтоб не гавнокод, для начала тип поменяй.
а чтоб сложить:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
procedure TFormproects.Button2Click(Sender: TObject);
var
//s,c:variant; не делай так, если знаешь тип данных
s, c2: integer;
c: string;  /// [TODO] изменить на int
begin
//фильтр
adodataset1.Filtered:=false;
adodataset1.Filter:='data like ''%' + formproects.Edit1.Text+'%''';
adodataset1.Filtered:=true;
if adodataset1.RecordCount=0 then
begin
//в базе данных нет записей удовлетворяющих критерию запроса
adodataset1.Filtered:=false;
showmessage('В БД нет записей, удовлетворяющих критерию запроса.');
end;
ADOdataset1.IndexFieldNames;
s:=0;
While not ADOdataset1.Eof do
begin
if (ADOdataset1.FieldByName('kosvennie').Value <> null) and (ADOdataset1.FieldByName('kosvennie').Value <> '')  then ///////
begin
   try
      c:=ADOdataset1.FieldByName('kosvennie').asString; //[TODO] Change to asInteger 
      c2 := StrToInt(c); //[TODO] drop this line
   finally
      s:=c2+s; //change c2 to c
   end;
end;
ADOdataset1.Next;
end;
edit3.text:= IntToStr(s);  
 
end;
Добавлено через 27 минут
а номальный код при работе з любой БД, начинается c изучения самой БД и SQL...
1
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 15
21.03.2012, 15:09  [ТС]
ну во-первых спасибо за помщь, без тебя не справился бы ;во-вторых я по книге делал базу, там многого не пишу, курсов по делфи найти немогу, в инстике учетиля заочников посылают, подскажи какую книгу лучше читать я ее найду, у меня две по базам и они меня к результату не привел я как обычно потратил кучу времени и своего и чужого, чтобы резултата доситчь хоть каго-тоУдачи и спасибо
0
45 / 44 / 2
Регистрация: 06.02.2012
Сообщений: 147
21.03.2012, 15:36
Пожалуйста
Но вот книгу не могу посоветовать... я с access не работаю вообще...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2012, 15:36

Не работает фильтр и база данных Access
Прописал код со свойством &quot;Filter&quot; , при записи в текст бокс нужного и имени, и применении фильтра бд скрывает всю таблицу, пробовал...

Обработчик исключений
Внутри класса должен быть реализован обработчик исключений.все возникающие ошибки нужно записать в файл

Обработчик исключений
Помогите нужно сделать, чтобы некорреектное поведение пользователя не вызывало вылет программы, а обрабатывалось. Нужно ввести цифру, а...

Обработчик исключений
Помогите написать обработчик исключений по заданию: Опишите функцию анализа номера телефона, обработайте ошибку задания номера в неверном...

Создать, обработчик исключений
Класс «квадрат», включает в себя координаты левого верхнего и правого нижнего углов и функцию рисования. Входным параметром для функции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru