问题描述
我在用MicrosoftVisualStudio2010编写一个猜单词的程序(windows窗体应用程序)。建了一个数据库存单词,现在我想从数据库里随机取出一个单词,但我不知道怎么写代码
解决方案
解决方案二:
selecttop1*fromtablenameorderbynewid()
解决方案三:
用随机数去.C#里面有Random
解决方案四:
SELECTTOP(1)[单词]FROM[单词表]ORDERBYNEWID()
解决方案五:
//属性:数据库链接对象privatestaticSqlConnectionconn;publicstaticSqlConnectionConn{get{try{stringconnstr="server=.;database=Driver;UserID=sa;Password=123456";if(conn==null)conn=newSqlConnection(connstr);if(conn.State==ConnectionState.Closed)conn.Open();if(conn.State==ConnectionState.Broken){conn.Close();conn.Open();}returnconn;}catch(Exceptionex){throw;}}}//返回首行首列publicstaticobjectGetScalar(stringSqlStr){SqlCommandcmd=newSqlCommand(SqlStr,Conn);objectobj=cmd.ExecuteScalar();conn.Close();returnobj;}stringsql=selecttop1wordfromtablenameorderbynewid()txtWord.Text=GetScalar(sql).toString();
解决方案六:
用随机数,如MSSQL数据库,单词未排序,先取出记录总数max,如max=20000个单词.Randomrand1=newRandom();intpos=rand1.Next(1,max);//生成随机的那一行,也就是1到20000中随机取1个例:执行下面sql语句得到数据库中那一行的单词:"selecttop1单词from(selecttop"+pos.ToString()+"单词from单词表orderby单词)tableaorderby单词desc"如果数据库排序了不用取那么多速度会更快.