如何从数据层C#窗口窗体应用程序访问UI层中的datagridview

时间:2016-03-30 08:30:39

标签: c# winforms sql-server-2012

我正在尝试将我的c#windows表单项目转换为3层架构。但是,我无法访问UI层中的datagridview。

任何人都可以帮助我。这是我的代码。

商业逻辑代码:

    BEL beobj = new BEL();
    Data dobj = new Data();
    public void show(BEL beobj)
    {
         dobj.show(beobj);
    }

这是UI图层代码

 private void button3_Click(object sender, EventArgs e)
    {
       string dt=baobj.show(beobj);
    dataGridView1.DataSource = dt;

    }

最后这是我的数据层代码:

public class Data
     {
     SqlConnection cnn = new SqlConnection("Data Source=HAMEED_KHAN\\SQLEXPRESS; Initial catalog=Medical; Integrated security=true");        

       public DataTable show(BEL obj)
         {
        cnn.Open();
        SqlCommand cmd = new SqlCommand("SELECT * FROM stock", cnn);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        return dt;
       cmd.ExecuteNonQuery();
       cnn.Close();
   }
   }

请告诉我如何从数据层访问datagridview1到UI层,谢谢

1 个答案:

答案 0 :(得分:0)

按如下所示更改您的UI代码

     private void button3_Click(object sender, EventArgs e)
     {
          DataTable dt=baobj.show(beobj);
          dataGridView1.DataSource = dt;
     }

按如下所示更改您的业务逻辑代码

     public DataTable show(BEL beobj)
     {
       DataTable dtbl = dobj.show(beobj);
       return dtbl;
     }