【问题标题】:Working with MySQL in C#在 C# 中使用 MySQL
【发布时间】:2011-06-15 03:36:03
【问题描述】:

这是我将数据打印到终端的代码:

public static void WriteData()
{
    string connString = "SERVER=localhost;" +
        "DATABASE=db;" +
        "UID=user;" +
        "PASSWORD=pass;";

    MySqlConnection connection = new MySqlConnection(connString);
    MySqlCommand command = connection.CreateCommand();
    MySqlDataReader reader;

    command.CommandText = "SELECT * FROM table1";
    connection.Open();
    reader = command.ExecuteReader();

    while (reader.Read())
    {
        for (int i = 0; i < reader.FieldCount; i++)
            Console.Write(reader.GetValue(i).ToString() + " ");
        Console.WriteLine();
    }
    connection.Close();
}

现在我想在DataGridView 中查看结果。我发现的所有教程都涉及将外部数据源添加到网格中,我不知道如何在 MySQL 中执行此操作。 (另外请注意,我没有开发 Windows 窗体的经验,但我想大多数 GUI 开发都是拖放式的)。

【问题讨论】:

    标签: c# .net mysql winforms ado.net


    【解决方案1】:

    正如 Daniel 所说,一个 DataTable 就足够了。

    如果您使用 DataAdapter,您可以填充 DataTable,然后将其绑定到您的网格,例如:

    DataGridView.DataSource = DataTable
    

    如果您将 DataGridView 设置为自动生成列,那么您将在数据表中看到每一列,否则,您需要指定每一列。

    下面是通过 SQL 命令填充数据表的代码:

    using (SqlDataAdapter oSqlDataAdapter = new SqlDataAdapter(oSqlCommand))
    {
        DataTable oDataTable = new DataTable();
        oSqlDataAdapter.Fill(oDataTable);
        return oDataTable;
    }
    

    显然你会使用 MySQL 类而不是 SQL 类。

    【讨论】:

      【解决方案2】:

      了解这一点的最佳方法是了解数据表和数据集。这在整体上几乎相同。您可以在 Visual Studio 中进行拖放,但最好对其进行更多控制。

      这是一个很好的教程,分为 4 个部分

      http://www.codeproject.com/KB/grid/practicalguidedatagrids1.aspx

      【讨论】:

        【解决方案3】:

        如果我没记错的话,.net 的 mysql 连接器有 MySqlAdapter 类,您可以使用它来获取 DataSet,然后按照 WraithNath 所说的方式将信息放入 Datatable 或 Grid 中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-04-14
          • 1970-01-01
          • 1970-01-01
          • 2011-02-02
          • 1970-01-01
          • 1970-01-01
          • 2018-03-14
          相关资源
          最近更新 更多