繁体   English   中英

从MS Access数据库随机生成数据

[英]c# - Random generating of data from ms access database

我正在尝试制作一个C#程序,该程序将通过单击一个按钮从我的ms访问数据库中选择一个随机数据。该错误表明Data type mismatch in criteria expression.中的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();
    }

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

跳过随机记录数可能更容易(只需确保它少于记录总数),然后再取下一条记录。

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

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

检查评论。 看来您的情况正确的语法是

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM