2017-05-14 47 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