c# – 如何将DataTable从一个类传递到另一个类

目前我正在研究MySQL,对不起我的新手问题.在这里我的问题

我有2个类,第一个是Windows Form,另一个是我想要包含SQL的所有进程的类.这是我在SQL Class中的代码

public void SampleQuery(string tablename)
    {
        DataTable dataTable;

        string query = "SELECT * FROM " + tablename;

        //Open connection
        if (this.OpenConnection() == true)
        {
            adapter = new MySqlDataAdapter(query,connection);

            dataTable =  new DataTable();
            adapter.Fill(dataTable);

            //close Connection
            this.CloseConnection();
            return;
        }

我想要做的是,使用DataGridView显示SQL中的数据.
是否可以在上面的SQL类中编写datagridview?或者必须在Windows窗体部分?

如果必须是在windows窗体中,如何抛出dataTable,现在将所有数据保存到Windows Form类?

非常感谢帮助我.如果我的问题听起来很荒谬,请问我.

解决方法:

您可以使用DataGrid DataSource属性.

示例代码管理想法:

class MyForm : Form
{
   public MyForm()
   {
      InitializeComponent();
      DataAccess  dataAccess = new DataAccess();
      m_dataGrid.DataSource = DataAccess.SampleQuery("MyTable");
   }
}

class DataAccess 
{
   public DataTable SampleQuery(string tablename)
   {
      DataTable dataTable;
      // 
      // Your Code
      // ..
      return dataTable;
   }
}

我认为Form Load事件处理程序是加载数据的好地方(不是构造函数;),如上所示).你可以实现一些缓存(如果表单打开,每次加载数据都不是很有效:))

上一篇:DataGridView添加行号


下一篇:首页> C#>如何使DataGridViewTextBoxColumn换行到一个新行,如果它的文本太长?