0-9 new System.Random().Next(10) A-Z int t=new System.Random().Next(65,90); char c=(char)t; a-z int t=new System.Random().Next(97,122); char c=(char)t;
if you are using SQL Server, you can do something likeselect top 8 * from YourTable order by newid()otherwise, you have to retrieve all records that satisfy your condition, then programmatically pick a certain number of records, look into System.Random class
如果用SQL Sever,select top n * from Table1 where .... order by newid() 如果是Oracle,那么下面两句可以都实现: select * from (select * from tablename order by sys_guid()) where rownum<N select * from (select * from tablename order by dbms_random.value) where rownum<N;
Random R = new Random(); int intRandomNumber = R.Next(1,1000); string str="Provider=Microsoft.Jet.OLEDB.4.0; Data source=db\\TestSystem.mdb "; OleDbConnection conn=new OleDbConnection(str); string sql="select top 4 * from chooseSubject order by rnd( " + (-1 * intRandomNumber).ToString() + "*id)";
用这个 select top '"+num+"' * from YourTable order by newid() 我原来做生成试卷时就是用的这个,这个num是定义题数的. 在这里用随机数不方便,如果你用随机数你还要排除所用的题.
我用的是SQL SERVER,我得到这个随机记录集后怎么再把它插入到一个新的数据表里呢?
正态分布的随机数发生器 in C# http://dev.csdn.net/author/Solstice/d99caee900e4400780d3177ac64402d2.html 如何实现真正的随机数 http://www.cnblogs.com/idior/archive/2005/03/10/116345.html还有我整理的一些关于随机数的讨论 http://onlytiancai.cnblogs.com/archive/2006/05/20/201842.html
我是把选择题,填空题,判断题等根据题类型放在不同的表里,让用户选择一定的条件选出题目,再把题目放到试卷库中的不同表,应该是很好实现的,用select top n * from Table1 where .... order by newid()应该是可以实现的,但该如何插入到试卷库中的表呢?刚学习,请各位高手指点指点啊
SQL里面在函数中不可以使用随机函数,但可以在视图中使用,所以可以在视图中生成随机数供调用...
Random R = new Random(); int intRandomNumber = R.Next(1,1000); string str="Provider=Microsoft.Jet.OLEDB.4.0; Data source=db\\TestSystem.mdb "; OleDbConnection conn=new OleDbConnection(str); string sql="select top 4 * from chooseSubject order by rnd( " + (-1 * intRandomNumber).ToString() + "*id)"; ////////////////请问下 最后一个* id 是什么?
A-Z
int t=new System.Random().Next(65,90);
char c=(char)t;
a-z
int t=new System.Random().Next(97,122);
char c=(char)t;
如果是Oracle,那么下面两句可以都实现:
select * from (select * from tablename order by sys_guid()) where rownum<N
select * from (select * from tablename order by dbms_random.value) where rownum<N;
int intRandomNumber = R.Next(1,1000); string str="Provider=Microsoft.Jet.OLEDB.4.0; Data source=db\\TestSystem.mdb ";
OleDbConnection conn=new OleDbConnection(str);
string sql="select top 4 * from chooseSubject order by rnd( "
+ (-1 * intRandomNumber).ToString() + "*id)";
我原来做生成试卷时就是用的这个,这个num是定义题数的.
在这里用随机数不方便,如果你用随机数你还要排除所用的题.
http://dev.csdn.net/author/Solstice/d99caee900e4400780d3177ac64402d2.html
如何实现真正的随机数
http://www.cnblogs.com/idior/archive/2005/03/10/116345.html还有我整理的一些关于随机数的讨论
http://onlytiancai.cnblogs.com/archive/2006/05/20/201842.html
先用一个二维数组用来保存试题的基本信息,如 a[i][0]=选择题 a[i][1]=10等等.
当你生成试卷时,在循环里去读二组数组里的基本信息,一条一条的读,
如,先在数据集里生成10个选择题,再一道道的插入到WORD中,再生成其它的题,再插入到WORD中.你是不是想把试卷所有的题一起放到一个数据集中???然后再集插入到WORD?
int intRandomNumber = R.Next(1,1000); string str="Provider=Microsoft.Jet.OLEDB.4.0; Data source=db\\TestSystem.mdb ";
OleDbConnection conn=new OleDbConnection(str);
string sql="select top 4 * from chooseSubject order by rnd( "
+ (-1 * intRandomNumber).ToString() + "*id)";
////////////////请问下 最后一个* id 是什么?