Произвольно сгенерируйте идентификатор из базы данных и убедитесь, что он не повторяется - PullRequest
0 голосов
/ 19 февраля 2019

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

Поскольку вопрос задаетсяЯ помещаю их в таблицу, используя

SqlCommand cmdInsert = new SqlCommand("INSERT INTO [dbo].[Tests]( TestID, UserID, Date, QuestionsID) VALUES ('"+1+"','"+ StudentLoginForm.UserInformation.UserID + "',GETDATE(),'" + QuestionID.Questionid + "')", con);

, чтобы сравнить содержимое этой таблицы с идентификатором вопросов, чтобы выбрать вопрос.

Я использую следующую инструкцию выбора длявыберите вопросы, которые нужно задать, но иногда возникает один и тот же вопрос

 SqlCommand cmd = new SqlCommand("SELECT QuestionID, Answer, Question, OptionA, OptionB, OptionC, OptionD FROM dbo.Questions LEFT JOIN Tests ON Questions.QuestionID = Tests.QuestionsID order by newid()", con);

Любая помощь в решении этой проблемы будет высоко оценена.

1 Ответ

0 голосов
/ 19 февраля 2019

Возможно, в результате объединения возникли дубликаты, поэтому вам придется либо исправить данные, либо использовать DISTINCT в своем запросе.

SELECT DISTINCT QuestionID, Answer, Question, OptionA, OptionB, OptionC, OptionD
FROM dbo.Questions 
LEFT JOIN Tests ON Questions.QuestionID = Tests.QuestionsID 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...