填充组合框

时间:2011-08-31 10:24:51

标签: c# mysql

如何使用3tier架构填充组合框?我使用了这段代码;

private void BindDepName()
    {
        MySqlConnection con = new MySqlConnection("server=localhost;User Id=root;password=sa;database=employeedetails");
        con.Open();
        string MySql = "SELECT * FROM tbldept";
        MySqlDataAdapter da = new MySqlDataAdapter(MySql, con);
        DataSet ds = new DataSet();
        da.Fill(ds);
        DepName.DataSource = ds.Tables[0];
        DepName.ValueMember = "Dept_id";
        DepName.DisplayMember = "Dept_name";
        string i = ds.Tables[0].Rows[0].ItemArray[1].ToString();
        DepName.Text = "select dept";
        con.Close();
    } 

1 个答案:

答案 0 :(得分:1)

在3tier世界中,你将在BusinessLogic类库中有一个类,它将Entities的某种可枚举(IEnumerable,List,Collection,array ...)返回给用户界面;作为良好实践,UI不应直接与DataTable和DataSet一起使用。

返回以填充UI控件(在您的情况下为组合框)的实际对象类型取决于您的设计和首选项,如果您使用实体框架,则可以在EF设计器/模型中定义和建模实体。 / p>

架构的下半部分是Dala Access Layer,想象它是一个类库唯一一个允许并能够建立与数据库的连接,所以mySql连接管理和实际查询执行应该被隔离,而不是从DAL向上暴露。

UI调用BL调用DAL。

DAL连接到数据库,查询并将实体返回给BL。

BL将实体(集合类型)返回到用于绑定的UI。

尝试并保持简单,只为启动,您可以跳过实体建模并返回数据表,以便您可以测试逻辑。 :)