C# 方法'没有重载;加载表格1和x27;采取';0';论据

C# 方法'没有重载;加载表格1和x27;采取';0';论据,c#,C#,方法load\u table\u 1(DataTable dt)似乎不需要或使用参数DataTable dt。将其从签名中删除。您需要将一个DataTable传递给方法load\u table\u 1 您已将函数定义为: namespace Gtec_Solution{ public partial class Main : Form { string myconnection = "datasource=localhost;port=3306;username = ro

方法
load\u table\u 1(DataTable dt)
似乎不需要或使用参数
DataTable dt
。将其从签名中删除。

您需要将一个
DataTable
传递给方法
load\u table\u 1

您已将函数定义为:

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;
       }
   }
}
因此,您需要执行以下操作:

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
参数。例如:

  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

嗯,错误消息说此调用:

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;
    }
无效,因为此方法没有不带参数的重载。但是,您为
load\u table_1
声明的参数
dt
无论如何都不会使用,因此您可以安全地将其删除:

 load_table_1();

在方法
Main
中:

    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;
    }
但是在类的其他地方
Main

    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(数据表dt)


您需要将
DataTable
的实例传递到
load\u table\u 1

这里您调用了一个没有参数的方法:

load_table_1();
但是,您正在调用的方法需要一个参数:

public Main(string userName)
{
    InitializeComponent();
    load_table_1();   //THIS LINE

}
第二个方法不使用param,因此只需删除它即可读取:

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;
}

很好的代码,您还有问题吗?错误消息在我看来很清楚。当您定义了一个无参数的方法,使其只需要一个参数时,您似乎正在调用该方法。谢谢..我尝试了,它工作正常。。。。。