Страница: 1 |
1. имеется база данных "ОТВЕТЫ" внем 1000 ответов на вопросы по математике. надо протестировать знание учеников по математике.Мы создали программу и оно работает нормально. Ученики по очереди нажимая кнопку "следующий вопрос" отвечают на 25 вопросов нажимая кнопки ответа и в конце узнают свои оценки..Загвоздка в том что наша программа Каждый раз выберает одни и теже вопросы.Но надо что бы программа состояшиеся из техт бох , Дата,кнопок ответов и кнопки "ОБНОВИТЬ" выбирала каждый раз из базы данных "ОТВЕТЫ" ПО 25 данных для программы и они каждый раз должны быть разные.Надеюсь хоть кто то пойметь и поможеть.
Принципиально, можно сгенерировать выборку в рекордсет случайного набора данных. В голову приходит такое решение: - В БД хранятся вопросы, каждый вопрос имеет уникальный ID (в данном случае от 1 до 1000) - Генерируем массив случайных чисел из этого диапазона и в предложении WHERE извлекаем их. Хотя, проще, считать все данные в рекордсет, сгенерировать случайное ID и методом Find, после нажатие кнопки далее, вытаскивать соответствующий вопрос. Удачи. Страница: 1 |
Вопрос: исправ по воп База Данных
Добавлено: 29.04.03 16:05
Автор вопроса: starmen
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #1
Добавлено: 30.04.03 03:07
Судя по тому как все упорно молчат никому в голову ничего умнее как получать весь рекордсет а потом делать случайную выборку не пришло. Вот и мне тоже. В принципе у такого способа один недостаток - придется все данные хранить в памяти, зато есть и плюс - не надо заново лезть в БД. И все-таки интересно, есть ли способ брать из БД случайный набор? Я во всяком случае его не знаю
Номер ответа: 2
Автор ответа:
DimaS
Вопросов: 2
Ответов: 85
Профиль | | #2
Добавлено: 30.04.03 08:10
Номер ответа: 3
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #3
Добавлено: 30.04.03 11:21
Да такой вариант тоже возможен. Вариант ручной, но почему бы и нет По эффективности оба варианта будут примерно равнозначны, а плюсы и минусы смотри выше