从ms访问数据库随机生成数据

本文关键字:数据 随机 数据库 ms 访问 | 更新日期: 2023-09-27 18:35:35

我正在尝试制作一个 C# 程序,该程序将通过单击按钮从我的 ms Access 数据库中选择一个随机数据。该错误说Data type mismatch in criteria expression.来自我创建的OleDbDataReader。

这就是我目前取得的成就。答案将不胜感激。

    {
        OleDbConnection connection = new OleDbConnection();
        connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:'Users'miguel'Documents'QuotesGenFunny.accdb;
        Persist Security Info=False;";
        connection.Open();
        OleDbCommand command = new OleDbCommand();
        command.Connection = connection;
        command.CommandText = "SELECT TOP 1 * FROM Funny ORDER BY Rnd(-10000000*TimeValue(Now())*[Author])";
        OleDbDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            listBox1.Items.Add(reader["Author"].ToString());
        }
        connection.Close();
    }

从ms访问数据库随机生成数据

您似乎试图按随机值对记录进行排序,我认为这没有任何意义。

也许跳过随机数量的记录会更容易(只要确保它小于记录总数),然后获取下一条记录。

如果您的记录的 ID 是一个增加 1 的数字,您可能通过使用 C# 生成一个介于 0 和帖子总数 nr 之间的随机数来选择随机记录。

如何从MS Access数据库中获取随机记录

检查评论。在您的情况下,正确的语法似乎是

ORDER BY Rnd(-(10000000*Funny)*Time())