asp.net 随机出题
privatevoidBindPageData(){///创建ExamineDB数据库的数据上下文ExamineDBDataContextdb=newExamineDBD...
private void BindPageData()
{ ///创建ExamineDB数据库的数据上下文
ExamineDBDataContext db = new ExamineDBDataContext(OnlineExamineSystem.ExamineDBConnectionString);
///获取考题的考题信息
int row = db.Question.LongCount();
var query = from q in db.Question
where q.SubjectID == subjectID
select q;
///显示考题
gvQuestion.DataSource = query;
gvQuestion.DataBind();
}
这是按照科目将所有的题目都输出,我想改成随机出5题,怎么改? 展开
{ ///创建ExamineDB数据库的数据上下文
ExamineDBDataContext db = new ExamineDBDataContext(OnlineExamineSystem.ExamineDBConnectionString);
///获取考题的考题信息
int row = db.Question.LongCount();
var query = from q in db.Question
where q.SubjectID == subjectID
select q;
///显示考题
gvQuestion.DataSource = query;
gvQuestion.DataBind();
}
这是按照科目将所有的题目都输出,我想改成随机出5题,怎么改? 展开
1个回答
展开全部
如果题目量不大,可直接全部取出,然后随机0-题目数量取5次,每次删掉已取题目
如果题目量大,先将题目的Id取出,然后执行上面抽取,取5个Id然后再取题目
如果题目量大,先将题目的Id取出,然后执行上面抽取,取5个Id然后再取题目
更多追问追答
追问
我知道思路,可是代码不会写,能直接给我代码吗?我的Question表中有id值,是主键,我怎么对它进行操作,刚接触C#很多细节的不清楚。
追答
比如你把Id集合都取出来执行如下代码:
List lstId = db.Question.Where(q => q.SubjectID == subjectID).Select(q => q.Id).ToList();
List RandomId = new List();
for(int i=0;i 0)
{
RandomId.Add(new Random().Next(0,lstId.Count-1);
}
else break;
}
//RandomId就是取出来的随机题目Id,然后根据Id把题目取出来就行了
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询