2013-06-26 46 views
-3
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; 
     } 
    } 
} 
+3

你有好的代码,你也有问题吗? – CodeCaster

+3

错误消息显示IMO。 –

+0

看起来你正在调用一个没有参数的方法,当你定义它时需要一个参数。 –

回答

2

那么,错误消息说,这一呼吁:

load_table_1(); 

是无效的,因为这个方法没有没有PARAMS过载。但是你已经申报load_table_1参数dt无论如何都不会使用,所以你可以放心地将其删除:

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

方法load_table_1(DataTable dt)似乎并不要求或使用参数DataTable dt。将其从签名中移除。

+0

谢谢你..我试过了,它工作正常..... – Shaaji

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

在方法Main

load_table_1(); 

但在其他地方在Main类:

public void load_table_1(DataTable dt)

您需要传递一个的实例至load_table_1

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

第二种方法不会用参数,所以才删除它看起来如下:

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; 
} 
相关问题