2 / 2 / 1
Регистрация: 31.05.2014
Сообщений: 169

Выборка записей по определенному полю

01.08.2014, 06:24. Показов 3670. Ответов 71
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Проблема такая: у меня в базе, по мимо информации о документах, есть код ошибки этих документов (неправильно заполнены поля), так вот, как написать условие вывода информации по определенному значению этого поля, я пишу так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
if(Q->FieldByName("ERR_CODE") IS NULL)
        Memo1->Lines->Add("Документ № " + StringGrid1->Cells[4][i] + " от " +
                        Q->FieldByName("DATE_INSERT")->Value + " - " +
                        Q->FieldByName("ERR_CODE")->Value + " оплаяеноî");
      if(Q->FieldByName("ERR_CODE") = '0')
       Memo1->Lines->Add("Документ № " + StringGrid1->Cells[4][i] + " от " +
                        Q->FieldByName("DATE_INSERT")->Value + " - " +
                        Q->FieldByName("ERR_CODE")->Value + " неизвестный регион");
      if(Q->FieldByName("ERR_CODE") = '1')
       Memo1->Lines->Add("Документ № " + StringGrid1->Cells[4][i] + " от " +
                        Q->FieldByName("DATE_INSERT")->Value + " - " +
                        Q->FieldByName("ERR_CODE")->Value + " неизвестный отдел");
естественно не работае, подскажите, в чём проблема
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.08.2014, 06:24
Ответы с готовыми решениями:

Отображение записей по определённому полю
Всем привет. Задача такая: есть таблица, в этой таблице есть столбец с фамилиями сотрудников. Каждый сотрудник должен видеть только свои...

Выборка случайных записей по определенному полю
Здравствуйте! Помогите реализовать запрос на выборку рандомных записей. Например у меня есть таблица Деталь Цех Заказ Дет1 200...

Выборка по определённому полю
в таблице бд в кажой записи имеется поле с урл. урлы повторяются! Мне надо запросом определить сколько у меня всего ращличных урл? и...

71
2 / 2 / 1
Регистрация: 31.05.2014
Сообщений: 169
01.08.2014, 13:32  [ТС]
Студворк — интернет-сервис помощи студентам
DeadHipo, _Dimon_, в обоих случаях, при получении не null строки ERR_CODE выдаёт "abnormal program termination"
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
01.08.2014, 13:35
Safer54rus, Покажи полностью код
0
2 / 2 / 1
Регистрация: 31.05.2014
Сообщений: 169
01.08.2014, 13:38  [ТС]
DeadHipo,
C++
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
35
36
37
38
39
40
41
42
{
 if (Q->Active)
      Q->Close();
      Q->SQL->Clear();
      Q->SQL->Add("select * from(");
      Q->SQL->Add("select LISH_ID, DOC_NUM, DOC_DATE, PRS_DATE, GIBDD_CODE, SURNAME, NAME, PATRONIMYC, OBL, RAI, IND, NAS_P, STREET, HOUSE,");
      Q->SQL->Add("KORPUS, KV, DBTR_BORN, DBTR_SUM, PAY_DATE, STATUS, KOAP_ST, KOAP_F, BORN_PLACE, FILE_NAME, ERR_CHECK, AIS_INS, DATE_INSERT, ID, FSSP_TO_GAI,");
      Q->SQL->Add("OKATO, KBK, ID_DBTR_TYPE, ERR_CODE, CHECK_DATE from  adm_gai_to_fssp_err");
      Q->SQL->Add("union");
      Q->SQL->Add("select LISH_ID, DOC_NUM, DOC_DATE, PRS_DATE, GIBDD_CODE, SURNAME, NAME, PATRONIMYC, OBL, RAI, IND, NAS_P, STREET, HOUSE,");
      Q->SQL->Add("KORPUS, KV, DBTR_BORN, DBTR_SUM, PAY_DATE, STATUS, KOAP_ST, KOAP_F, BORN_PLACE, FILE_NAME, ERR_CHECK, AIS_INS, DATE_INSERT, ID, FSSP_TO_GAI,");
      Q->SQL->Add("OKATO, KBK, ID_DBTR_TYPE,NULL as ERR_CODE,NULL as CHECK_DATE from adm_gai_to_fssp)");
      Q->SQL->Add("where DOC_NUM = :DOC_NUM");
      Q->Parameters->ParseSQL(Q->SQL->Text, true); //åñëè áåç ýòîé ñòðîêè ðàáîòàåò, òî ìîæåøü åå óáðàòü
    String FirstString;
     String SecondString;
     for(int i = 0; i < StringGrid1->RowCount; i++)
      {
       FirstString = "Ïîñòàíîâëåíèå ¹ " + StringGrid1->Cells[4][i];
       SecondString = "";
       Q->Parameters->ParseSQL(Q->SQL->Text, true);
       Q->Parameters->ParamByName("DOC_NUM")->Value = StringGrid1->Cells[4][i];
       Q->Open();
       if(Q->IsEmpty()) SecondString = (SecondString + " â áàçå íå îáíàðóæåíî");
        else
         {
          SecondString = " îò " + Q->FieldByName("DATE_INSERT")->Value + " - " + Q->FieldByName("ERR_CODE")->Value;
          if(Q->FieldByName("ERR_CODE")->IsNull) SecondString = SecondString + " îïëà÷åíî";
           else
            switch (Q->FieldByName("ERR_CODE")->AsInteger)
             {
              case 0: SecondString = SecondString + " íåèçâåñòíûé ðàéîí"; break;
              case 1: SecondString = SecondString + " íåèçâåñòíûé êîä îòäåëà"; break;
              case 2: SecondString = SecondString + " îòñóòñòâóåò äàòà äîêóìåíòà"; break;
              case 3: SecondString = SecondString + " îòñóòñòâóåò äàòà ðîæäåíèÿ";  break;
              case 4: SecondString = SecondString + " íåèçâåñòíûé êîä äîëæíèêà"; break;
              case 5: SecondString = SecondString + " íå âîçáóæäåííî, íî óæå îïëà÷åíî"; break;
             }
        }
       Q->Close();
       Memo1->Lines->Add(FirstString + SecondString);
}
0
1409 / 573 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
01.08.2014, 13:40
Safer54rus, вместо 21 строки напиши Q->Close();
0
2 / 2 / 1
Регистрация: 31.05.2014
Сообщений: 169
01.08.2014, 13:42  [ТС]
_Dimon_, не изменилось
0
1409 / 573 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
01.08.2014, 13:43
Safer54rus, да это понятно, просто так правильнее
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
01.08.2014, 13:45
Safer54rus, то что ты передаёшь это числа или буквы? Возможно параметр int а ты ему строки подсовываешь?
0
1409 / 573 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
01.08.2014, 13:46
хотя на 40 строке есть этот Q->Close();
0
2 / 2 / 1
Регистрация: 31.05.2014
Сообщений: 169
01.08.2014, 13:47  [ТС]
DeadHipo, в таблице INT'овый тип поля
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
01.08.2014, 13:49
и перед
C++
1
FirstString = "Постановление № " + StringGrid1->Cells[4][i];
поместить
C++
1
Q->Close();
Мы же вроде новый параметр ему даём потом.
0
1409 / 573 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
01.08.2014, 13:49
DeadHipo, да на то они и есть эти параметры, что им пофиг
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
01.08.2014, 13:52
_Dimon_, Просто мы потом вызываем
C++
1
 Q->Open();
Получается на уже открытом?
0
1409 / 573 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
01.08.2014, 13:54
Цитата Сообщение от DeadHipo Посмотреть сообщение
Получается на уже открытом?
закрытий он еще в 3 строке
Цитата Сообщение от _Dimon_ Посмотреть сообщение
Safer54rus, вместо 21 строки напиши Q->Close();
а после первого прохода цикла закрывается в 40 строке
Цитата Сообщение от _Dimon_ Посмотреть сообщение
хотя на 40 строке есть этот Q->Close();
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
01.08.2014, 13:57
Цитата Сообщение от _Dimon_ Посмотреть сообщение
Сообщение от _Dimon_
Safer54rus, вместо 21 строки напиши Q->Close();
Сообщение от _Dimon_
хотя на 40 строке есть этот Q->Close();
Они оба вне цикла ведь. один раз отработало, а потом?
ps. Возможно я не прав, но меня терзают сомнения.
0
1409 / 573 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
01.08.2014, 13:57
DeadHipo, там проблема в чем то другом...
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
01.08.2014, 13:58
_Dimon_, ну это да, так как мне помниться, что абнормолы от этого не вылетают
Автор, запускай в дебаге и жми break на выскочившим окошке при выполнении. И говори строку
1
1409 / 573 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
01.08.2014, 14:00
DeadHipo, цикл заканчивается на Memo1->Lines->Add(FirstString + SecondString);

Добавлено через 41 секунду
Цитата Сообщение от DeadHipo Посмотреть сообщение
Автор, запускай в дебаге и жми break на выскочившим окошке при выполнении. И говори строку
или ставь брекпоинты и смотри где вылетит
0
2 / 2 / 1
Регистрация: 31.05.2014
Сообщений: 169
01.08.2014, 14:03  [ТС]
DeadHipo, а где в шестом билдере дебаг?
0
 Аватар для DeadHipo
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
01.08.2014, 14:04
Safer54rus, стрелочка с божией коровкой или что то подобное, вроде

Добавлено через 24 секунды
_Dimon_, посчитал скобки, с этого и стоило начать.
0
2 / 2 / 1
Регистрация: 31.05.2014
Сообщений: 169
01.08.2014, 14:10  [ТС]
Цитата Сообщение от DeadHipo Посмотреть сообщение
трелочка с божией коровкой или что то подобное, вроде
хоть убей, не могу найти
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.08.2014, 14:10

Предикаты. Выборка объектов из вектора по определённому полю
Здравствуйте. Имеется некий шаблон класса, один из членов которого - вектор. Т.е. что-то вроде template &lt;class T&gt; class...

Отсортировать массив записей по определенному полю
Описать тип Tovar с полями name (название), kod (код товара), price (цена), number (количество). Заполнить массив из 20 элементов данного...

Выборка записей из таблицы и группировка по полю
Приветствую. Есть таблица комментариев, в которой нас интересуют поля uid, user_id. Так вот, нужно выбрать из этой таблицы все уникальные...

Запрос: Выборка записей значения которых по полю Х не содержат таких же значений имеющихся в другой таблице
Суть: Есть две таблицы в каждой из которых есть коррелирующие поля, в таблице1 - 100 записей, в таблице2 - 10 (значения которых ранее были...

Как к упорядоченному массиву записей к определенному свойству привязать весь массив записей?
вот кусок процедуры. {упорядочить по возрастанию} procedure vozkv(n:integer;h:a); var k,i,tmp,m,o:integer;var z:a; begin for k:=1...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Опции темы

Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru