【发布时间】:2019-01-11 17:43:27
【问题描述】:
我编写代码用数据库值填充组合框。如果此代码写在表示层上,我的代码工作正常。但我想在数据层上写这段代码。我的解决方案中有 3 个项目(UI、BLL、DAL)。我想要这个代码在 DAL 中,然后在 BLL 的帮助下调用 UI。怎么做。请帮我。这是我的代码。
如何将我的代码转换为 3 层架构。
using (SQLiteConnection conn = new SQLiteConnection(EmployeeComboFills.ecbconn()))
{
string CommandText = "SELECT Name FROM User";
using (SQLiteCommand cmd = new SQLiteCommand(CommandText, conn))
{
conn.Open();
cmd.ExecuteNonQuery();
DataTable dt = new DataTable();
SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
da.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
CELD_employeename.Items.Add(dr["Name"].ToString());
}
}
}
如何在 3 层中编写此代码。或者,如果有人有更好的代码,请分享。谢谢。
【问题讨论】:
-
cmd.ExecuteNonQuery();在 Select 查询中? -
CELD_employeename.DisplayValue = "Name"; CELD_employeename.DataSource = dt; -
一个组合框需要为每个组合框条目设置两个属性:一个值(通常是数据库主键)和一个显示名称(一个名称、描述符、查找表的字符串)。您如何检索这些值以及如何使用它们来填充 ComboBox 通常是次要的。但我猜你希望有一些自动/帮助代码为你做这件事(这不是一个坏主意)。
标签: c# database winforms sqlite data-binding