Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 2
Регистрация: 18.05.2015
Сообщений: 79
MS Access

Вывод записей и проверка

22.05.2016, 12:00. Показов 1023. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется БД, которая подключается к проекту(тестировщик знаний учащихся).
При нажатии на кнопку "начать тест" выводятся ответы на последний вопрос, а приложение оперирует с ответами на первый вопрос.
Ниже скрин БД и вопросов. Выводятся ответы вопроса "2++", но приложение начинает работу не с вопроса "2++", а с вопроса "Цикл с постусловием"
Миниатюры
Вывод записей и проверка  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2016, 12:00
Ответы с готовыми решениями:

Проверка нескольких записей, соответствующих одному условию. Вывод нессоттветствующих записей в MsgBox.
День добрый. Мои знания в программировании растут очень вяло, но по традиции я пытаюсь задавать вопросы в крайней необходимости :) ....

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

Вывод уникальных записей с таблицы и суммирование дублированых записей с выводом колличества
Доброго времени суток форумчане! Не получается фильтровать записи при выводе с таблицы MYSQL. Нужно вывести уникальные модели и...

2
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
22.05.2016, 14:35
А как ты вообще выводишь эти ответы. Покажи запрос?
0
1 / 1 / 2
Регистрация: 18.05.2015
Сообщений: 79
22.05.2016, 14:52  [ТС]
Лучший ответ Сообщение было отмечено DImawsasdas как решение

Решение

Цитата Сообщение от Sasha Посмотреть сообщение
А как ты вообще выводишь эти ответы. Покажи запрос?
Кнопка "начать тест"
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
void start_test(AnsiString otv1, AnsiString otv2, AnsiString otv3, AnsiString otv4)
  {
              Form2->Label11->Caption=Form2->ComboBox5->Text; //название теста 
              AnsiString zap,zap1,zap2;
              zap2=Form2->ComboBox5->Text;
              zap1="select Test.[Id_testa] from Test where Nazvanie_testa='"+zap2+"'";
              zap="select Vopros.Vopros,Otvet.Otvet,Otvet.Pravilnyi_Nepravilnyi "
              "from Vopros inner join Otvet on Vopros.Id_voprosa=Otvet.Id_voprosa "
              "where Vopros.Id_testa=("+zap1+");";
              Form1->ADOQuery1->SQL->Clear();
              Form1->ADOQuery1->SQL->Text=zap;
              Form1->ADOQuery1->Open();
              Form1->ADOQuery1->First();
              Form2->Memo1->Text=Form1->ADOQuery1->FieldByName("Vopros")->AsString;
              Form2->Label2->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
              Form1->ADOQuery1->Next();
              Form2->Label3->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
              Form1->ADOQuery1->Next();
              Form2->Label4->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
              Form1->ADOQuery1->Next();
              Form2->Label5->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;              
              //proverka_otveta(otv1, otv2, otv3, otv4);
              Form1->ADOQuery1->Next();
}
Кнопка "ответить"
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
void proverka_na_konech_dannyh(AnsiString otv1, AnsiString otv2, AnsiString otv3, AnsiString otv4)
  {
    if (!Form1->ADOQuery1->Recordset->Eof)
    {
      vyvod_vopros_otvetov(otv1,otv2,otv3,otv4);
    }
    else
    {
      double rezu=((double)i/kolvopr)*100.0;
      AnsiString rez="Âû ïîëó÷èëè "+IntToStr(i)+" %";
      ShowMessage(rez);
      i=0;
      kolvopr=0;
      Form1->ADOQuery1->First();
      AnsiString zapis;
      //dobavlenie zapisi o prohozhdenii
      Form1->ADOQuery1->Active=false;
      Form1->ADOQuery1->SQL->Clear();
      zapis="INSERT INTO Rezultaty (FIO_ychascegocya, Gryppa, Ochenka, Rezyltat, Data_prohozd) "
      "values ("
      "'"+Form2->ComboBox2->Text+"',"
      "'"+Form2->ComboBox1->Text+"',"
      "'"+IntToStr(5)+"',"
      "'"+IntToStr(100*i/kolvopr)+"',"
      "'"+Now()+"');";
      ShowMessage(zapis);
      //Form1->ADOQuery1->SQL->Add(zapis);
      Form1->ADOQuery1->Active=true;
      Form1->ADOQuery1->ExecSQL();
    }
  }
 
void vyvod_vopros_otvetov(AnsiString otv1, AnsiString otv2, AnsiString otv3, AnsiString otv4)
  {
      if (k==0)
      {
        k++;
        proverka_pervogo_voprosa(otv1, otv2, otv3, otv4);
      }
      else
      {
        Form2->Memo1->Text=Form1->ADOQuery1->FieldByName("Vopros")->AsString;
        Form2->Label2->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
        proverka_otveta1(otv1);
 
        Form1->ADOQuery1->Next();
        Form2->Label3->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
 
        proverka_otveta2(otv2);
 
        Form1->ADOQuery1->Next();
        Form2->Label4->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
 
        proverka_otveta3(otv3);
 
        Form1->ADOQuery1->Next();
        Form2->Label5->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
        proverka_otveta4(otv4);
        Form1->ADOQuery1->Next();
        kolvopr++;
      }
  }
 
void proverka_pervogo_voprosa(AnsiString otv1, AnsiString otv2, AnsiString otv3, AnsiString otv4)
  {
      
      Form2->Memo1->Text=Form1->ADOQuery1->FieldByName("Vopros")->AsString;
      Form2->Label2->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
      proverka_otveta1(otv1);
 
      Form1->ADOQuery1->Next();
      Form2->Label3->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
 
      proverka_otveta2(otv2);
 
      Form1->ADOQuery1->Next();
      Form2->Label4->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
 
      proverka_otveta3(otv3);
 
      Form1->ADOQuery1->Next();
      Form2->Label5->Caption=Form1->ADOQuery1->FieldByName("Otvet")->AsString;
      proverka_otveta4(otv4);
      Form1->ADOQuery1->Next();
  }
 
//---------------------------------------------------------------------------
  void proverka_otveta1(AnsiString otv1)
  {
    if ((otv1=="True")&&(otv1 == Form1->ADOQuery1->FieldByName("Pravilnyi_Nepravilnyi")->AsString))
    {
      i++;
    }
  }
//---------------------------------------------------------------------------
  void proverka_otveta2(AnsiString otv2)
  {
    if ((otv2=="True")&&(otv2 == Form1->ADOQuery1->FieldByName("Pravilnyi_Nepravilnyi")->AsString))
    {
      i++;
    }
  }
//---------------------------------------------------------------------------
  void proverka_otveta3(AnsiString otv3)
  {
    if ((otv3=="True")&&(otv3 == Form1->ADOQuery1->FieldByName("Pravilnyi_Nepravilnyi")->AsString))
    {
      i++;
    }
  }
//---------------------------------------------------------------------------
  void proverka_otveta4(AnsiString otv4)
  {
    if ((otv4=="True")&&(otv4 == Form1->ADOQuery1->FieldByName("Pravilnyi_Nepravilnyi")->AsString))
    {
      i++;
    }
  }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.05.2016, 14:52
Помогаю со студенческими работами здесь

Вывод числа записей одной таблицы для соответствующих записей другой
Доброго времени суток. Возможно, я не правильно сформулировал заголовок, но как по другому это назвать, я не знаю. Гугл ответ не дал,...

Из всех записей вывод записей с сегодняшней датой
Есть таблица на SQL Server (смотрите рисунок какая) Нужно чтоб показывало чье сегодня др или какой прздник (смотрите другой скрин) ...

Из всех записей вывод записей с сегодняшней датой
sql запрос который из всех дат выбирает сегодняшнюю к примеру столбец дат: 27.11.2018 |День рождения Иванова 25.10.2018 |День...

Постраничный вывод записей (по 15 записей на страницу)
всем привет перерыл гору всяких скриптов и постов на тему "навигации по страницам" и "постраничному выводу", но ничего не...

Вывод похожих записей по тегу, а именно согласно количеству привязанных записей к тегу
Всем привет! Этот код выводит похожие записи по тегу: <?php $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array();...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru