2013-06-26 72 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; 
} 
相關問題