首先,在SqlServe 数据库里要建立一个 表,来放100道选择题目,这个表怎么建啊
其次,怎么调用不同的 15题目啊
用 C#实现,星期一要用啊,帮帮啊
其次,怎么调用不同的 15题目啊
用 C#实现,星期一要用啊,帮帮啊
解决方案 »
- 类的函数调用类的字段好,还是调用类的属性好
- 求大家给一段常用的sqlcommand代码。
- 图片转换
- 在VS2005中,对XML文件编辑时, 有没有"数据"视图呀?
- image 问题
- 关于 StreamReader.BaseStream.seek() 偏移量问题
- 如何实现从html读取数据并导入到数据库中
- GGJJ:帮我看看这个问题啊?这样的功能能否实现?是否我异想天开?
- C#应用程序 卸载老版本再安装升级版本后,发现某些功能还是老版本执行的结果,这是什么原因啊?跟操作系统有关系吗?
- 请问我的语句有错吗?
- WINFORM自定义控件,每次拖进窗体,自动给某些属性赋值,并且这些值在生成后不会变化
- 如何获取窗体上多个textBox的值
选项表 题号,选项1.....如果随机出15道就用 select top 15 * from tabel order by newid()
Title nvchare(200)
Answer (ntext)用select top 15 title from Table order by id
在C#里面用Random在0-100求15个随机数(不要重复),对应题目表的ID就可以了
(
questionID INT PRIMARY KEY,
questionTitle NVARCHAR(200) NOT NULL,
Answer ntext
)
至于题目,不要用top 15,不然每次取出来都是top10.
用code做,100中生成15个不同的随机数,然后把这15个数作为id传给SQL做
这样才能真正做到随机~
不好意思,没看到后面的order by newid()这个正解~
或
SELECT TOP 15 * FROM table ORDER BY NEWID()
DECLARE @point INT
DECLARE @number INT
DECLARE @NumberDefinition NVARCHAR(500)
SET @NumberDefinition = N'@currentNumber int'
SET @count = 10
DECLARE @sql NVARCHAR(2000)
SET @sql =
N'if not exists(select * from #temp where number = @currentNumber)
Begin
insert into #temp values (@currentNumber)
END'
IF EXISTS(SELECT OBJECT_ID('tempdb..#temp'))
BEGIN
DROP TABLE #temp
CREATE TABLE #temp
(
number INT NOT null
)
END
WHILE( (SELECT COUNT(*) FROM #temp) < @count)
BEGIN
SET @number= CAST((RAND()*100)AS INT)+1
EXEC sp_executesql @sql,@NumberDefinition,@currentNumber=@number
ENDselect * from #temp
题号(ID) 题目(question)use table
go
Select TOP 15 * From table order By NewID()
表一:题目表(SubjectID、Subject)
表二:选项表(ItemID、SubjectID)
两表通过题目的SubjectID进行关联随机取15道题就是2楼说的方法
SQL Server:Select Top 15 * From 表 Order By NewID() Access:Select Top 15 * From 表 Order By Rnd(ID)
Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
Select Top 15* From 表 Order BY Rnd(Len(UserName)) MySql:Select * From 表 Order By Rand() Limit 10
答案表:answerId,questionId,answerFlag[答案标识]取随机 top 15 * from 题目表 order by newId()