gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:57:13 25 4
gpt4 key购买 nike

目前我正在学习MySQL,抱歉我的新手问题。这是我的问题

我有 2 个类,第一个是 Windows 窗体,另一个是我想要包含来自 SQL 的所有进程的类。这是我在 SQL 类中的代码

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窗体类?

非常感谢你帮助我。如果我的问题听起来很荒谬,尽管问我。

最佳答案

您可以使用 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 事件处理程序是加载数据的好地方(不是构造函数;),如我上面所示)。您还可以实现一些缓存(如果表单打开时每次加载数据表效率不高:))

关于c# - 如何将 DataTable 从一个类传递到另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8193492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com