namespace Gtec_Solution{
public partial class Main : Form {
string myconnection = "datasource=localhost;port=3306;username = root;password = 12345V";
public Main(string userName){
InitializeComponent();
load_table_1();
}
public void load_table_1(DataTable dt){
DataTable d;
Load_Table_Class ld = new Load_Table_Class();
string Query_1 = "SELECT * FROM gtec_computer.employee";
d = ld.loading_table(Query_1);
dataGridView3.DataSource = d;
}
}
}
namespace Gtec_Solution{
public class Load_Table_Class{
public DataTable loading_table(string Query){
string myconnection = "datasource=localhost;port=3306;username = root;password = 12345V";
MySqlConnection con = new MySqlConnection(myconnection);
MySqlCommand cmd = new MySqlCommand(Query, con);
con.Open();
MySqlDataAdapter mda = new MySqlDataAdapter();
mda.SelectCommand = cmd;
DataTable dt = new DataTable();
mda.Fill(dt);
BindingSource bs = new BindingSource();
bs.DataSource = dt;
mda.Update(dt);
return dt;
}
}
}
答案 0 :(得分:2)
好吧,错误消息显示此调用:
load_table_1();
无效,因为没有params,此方法没有重载。但是,您为dt
声明的参数load_table_1
仍未使用,因此您可以安全地删除它:
public void load_table_1()
{
DataTable d;
Load_Table_Class ld = new Load_Table_Class();
string Query_1 = "SELECT * FROM gtec_computer.employee";
d = ld.loading_table(Query_1);
dataGridView3.DataSource = d;
}
答案 1 :(得分:0)
方法load_table_1(DataTable dt)
似乎不需要或使用参数DataTable dt
。将其从签名中删除。
答案 2 :(得分:0)
您需要将DataTable
传递给方法load_table_1
您已将该功能定义为:
public void load_table_1(DataTable dt)
{
DataTable d;
Load_Table_Class ld = new Load_Table_Class();
string Query_1 = "SELECT * FROM gtec_computer.employee";
d = ld.loading_table(Query_1);
dataGridView3.DataSource = d;
}
因此你需要这样做:
DataTable dt = new DataTable(); // Or populate it from your service
load_table_1(dt); // pass the dt object as an argument to load_table_1
或者从方法中删除DataTable
参数。例如:
public void load_table_1()
{
DataTable d;
Load_Table_Class ld = new Load_Table_Class();
string Query_1 = "SELECT * FROM gtec_computer.employee";
d = ld.loading_table(Query_1);
dataGridView3.DataSource = d;
}
答案 3 :(得分:0)
方法Main
:
load_table_1();
但在班级Main
的其他地方:
public void load_table_1(DataTable dt)
您需要将DataTable
的实例传递给load_table_1
。
答案 4 :(得分:0)
在这里你调用一个没有参数的方法:
public Main(string userName)
{
InitializeComponent();
load_table_1(); //THIS LINE
}
然而,您调用的方法需要一个参数:
public void load_table_1(DataTable dt) // IN HERE
{
DataTable d;
Load_Table_Class ld = new Load_Table_Class();
string Query_1 = "SELECT * FROM gtec_computer.employee";
d = ld.loading_table(Query_1);
dataGridView3.DataSource = d;
}
第二种方法不使用param,所以只需将其删除即可:
public void load_table_1() // DELETE PARAM HERE
{
DataTable d;
Load_Table_Class ld = new Load_Table_Class();
string Query_1 = "SELECT * FROM gtec_computer.employee";
d = ld.loading_table(Query_1);
dataGridView3.DataSource = d;
}