【问题标题】:asp.net load randomasp.net 随机加载
【发布时间】:2017-10-13 07:23:10
【问题描述】:

我们希望它在您按下它时加载一个新问题,但我们得到一个语法错误

{"Incorrect syntax near 'LIMIT'."}

代码如下。我们使用 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();
    }

【问题讨论】:

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

标签: c# sql asp.net visual-studio


【解决方案1】:

您的代码看起来像 SQL Server。该数据库使用TOP 而不是LIMIT 并且你不想要RAND() 你想要NEWID()

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

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

【讨论】:

  • 天哪,你。深夜潜伏如此值得。有这么多地方可以使用它,我希望我几个月前就知道了 T_T
【解决方案2】:

假设你使用的是 SQL Server,你可以使用TOP:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 2018-12-22
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    相关资源
    最近更新 更多