c#运行MYSQL时出现系统无效操作异常



大家好,我想在数据表上显示从Mysql到c#表单的所有数据,但我总是遇到这个异常"System.InvalidOperationException:"填充:";

完整代码:

public void testing()
{
DBConnect dbc = new DBConnect();
dbc.OpenConnection();
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
string query1 = "select * from info;";
MySqlCommand commander = new MySqlCommand(query1, connection);
MySqlDataAdapter searcher = new MySqlDataAdapter(commander);
DataTable table = new DataTable();
dataGridView1.DataSource = GetData(connectionString, query1);
}
public DataTable GetData(string connectionString, string query1)
{
using (var connection = new MySqlConnection(connectionString))
{
using (var command = new MySqlCommand(query1, connection))
using (var reader = command.ExecuteReader())
{
var dataTable = new DataTable();
dataTable.Load(reader);
return dataTable;
}
}
}

这是我的完整代码,我仍然得到";连接必须是有效和开放的";

下面是一个使用MySql.Data包的例子,我希望它能有用:

using var con = new MySqlConnection(/*connection string goes here*/);
con.Open();
using var command = new MySqlCommand(/*query goes here*/, con);
using var reader = await command.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
// do your stuff here
}

您的方法应该以这种方式工作:

public DataTable GetData(string connectionString, string query)
{
using (var connection = new MySqlConnection(connectionString))
{
connection.Open();
using (var command = new MySqlCommand(query, connection))
using (var reader = command.ExecuteReader())
{
var dataTable = new DataTable();
dataTable.Load(reader);
return dataTable;
}
}
}

相关内容

最新更新