2017-05-14 59 views
0

我们希望这个加载当你按下它一个新的问题,但我们得到了一个语法错误asp.net负载随机

{"Incorrect syntax near 'LIMIT'."} 

继承人的代码。我们使用DB多数民众赞成在Visual Studio

private void loadgrid() 
    { 
     con.Open(); 
     cmd.CommandText = "SELECT * FROM [Question] ORDER BY RAND() LIMIT 2"; 
     cmd.Connection = con; 
     SqlDataReader rd = cmd.ExecuteReader(); 
     GridView1.DataSource = rd; 
     GridView1.DataBind(); 
    } 
+0

用您正在使用的数据库标记您的问题。 –

回答

0

假设你正在使用SQL Server,你可以使用TOP

SELECT top 2 * FROM [Question] ORDER BY RAND(); 
1

你的代码看起来像SQL服务器。该数据库使用TOP而不是LIMIT,你不想RAND()你想NEWID()

cmd.CommandText = "SELECT TOP 2 * FROM [Question] ORDER BY NEWID()"; 

RAND()一块是棘手的。代码将执行,但RAND()只计算每个查询一次,所以结果不会真的是随机的。

+0

谢谢先生。它的工作原理:D – darthlars

+0

哦,男人,ty。深夜潜伏值得。有这么多地方使用这个我希望我知道它在几个月前T_T – TheNoob