c# - 标签从数据库中放入随机值 C#

标签 c# ms-access label

我需要从数据库中随机选择昵称并将这些昵称显示给多个标签。

我的代码在所有这些标签中只显示一个昵称,但我需要在单击按钮后随机昵称,数据库中的内容,显示在标签中。

void Button1Click(object sender, EventArgs e)
        {
            OleDbConnection connection = new OleDbConnection();
            connection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=names.mdb";
            connection.Open();
            OleDbCommand command = new OleDbCommand();
            command.Connection = connection;
            command.CommandText = "SELECT ID,nickname FROM names where ID=3 ";
            OleDbDataReader reader = command.ExecuteReader();
            while (reader.Read()){
                label1.Text=reader["nickname"].ToString();
                label2.Text=reader["nickname"].ToString();
                label3.Text=reader["nickname"].ToString();
                label4.Text=reader["nickname"].ToString();
                label5.Text=reader["nickname"].ToString();
                label6.Text=reader["nickname"].ToString();
                label7.Text=reader["nickname"].ToString();
                label8.Text=reader["nickname"].ToString();
            }
            connection.Close(); 
        }

表格示例 http://greenlight.ucoz.lv/11cqsvX/ac_lb.png

给label1 nickname1, 给label2 nickname26, 给label3 nickname78, ...

请帮助我,抱歉我的英语不好:)

最佳答案

我的想法是将您的 SQL 修改为 select a random row ,因为您当前的 SQL 将始终选择同一行。通过遍历每个标签对您拥有的每个标签执行此操作。

private void button1_Click(object sender, EventArgs e)
{
  OleDbConnection connection = new OleDbConnection();
  connection.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=names.mdb";
  connection.Open();

  foreach (Control control in Controls)
  {
    if (control is Label)
    {
      OleDbCommand command = new OleDbCommand();
      command.Connection = connection;
      command.CommandText = "SELECT nickname FROM names ORDER BY rnd(ID)";
      OleDbDataReader reader = command.ExecuteReader();
      reader.Read();
      control.Text = reader["nickname"].ToString();
    }
  }
  connection.Close();
}

关于c# - 标签从数据库中放入随机值 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30462575/

相关文章:

mysql - 微软 Access : Macro Button to download Table from MySQL

c# - C# 中的打开文件对话框

swift - Eureka - StepperRow - 如何只在标签上显示整数

c# - 带有空数据表的 DataGrid 允许用户输入 C# WPF

c# - 如何在客户端连接时通知 WCF 服务的主机?

c# - RDLC 中的超链接破坏了报告

mysql - SQL - 根据多列将一个表中的记录匹配到另一个表

c# - 带有自定义 View 的 UIBarButtonItem

ms-access - MS Access CurrentDb.execute 不起作用

swift - 自动调整尺寸标签