哈喽,你好啊,我是雷工!
本节学习如何将数据库中账号类别动态添加到下拉框列表中。
以下为学习笔记。
01 类型表
SQLServer数据库LGAccountManagentDB中AccountType表的数据内容为:
该数据库及数据表的创建可以查看:
更多关于数据库的文章,可以通过搜索关键词查看;
搜索方法(搜索只能在手机端完成):如下图所示,进入账号点击【文章搜索】,在最上方输入关键词【数据库】,然后点击【搜索】按钮即可。或者在C#合集中查看;
02 效果展示
当点击【添加账号信息】按钮时,打开添加账号信息子窗体,加载子窗体的同时,查询数据库中账号所有类型,将其添加到账号类型的下拉框中;
03 实现步骤
基于之前的练习,添加相关代码;
3.1、数据访问层
在数据访问层LeiGongDAL中AccountTypeServices类编程代码:
编程思路:
①:首先添加需要的命名空间;
②:写查询数据库中对应表的SQL语句;
③:发送语句查询所有类型,查询结果封装到集合;
AccountTypeServices类代码如下:
Bash
//数据访问类需要引入如下三个命名空间
using System.Data;
using System.Data.SqlClient;
using LeiGongModels;
namespace LeiGongDAL
{
public class AccountTypeService
{
/// <summary>
/// 查询全部账号类型对象,并封装到集合中
/// </summary>
/// <returns></returns>
public List<AccountType> GetAccountTypes()
{
string sql = "select TypeName,TypeId from AccountType";
SqlDataReader reader = SQLHelper.GetReader(sql);
List<AccountType> list = new List<AccountType>();
while(reader.Read())
{
list.Add(new AccountType
{
TypeId = (int)reader["TypeId"],
TypeName = reader["TypeName"].ToString()
});
}
reader.Close();
return list;
}
}
}
3.2、业务访问层
在业务逻辑层LeiGongBLL中的AccountTypeManager类中编写代码:
编程思路:
①:首先引入需要的命名空间;
②:业务逻辑很简单,只是传递作用;
AccountTypeManager类代码如下:
Bash
using LeiGongDAL;
using LeiGongModels;
namespace LeiGongBLL
{
public class AccountTypeManager
{
private AccountTypeService typeService = new AccountTypeService();
public List<AccountType>GetAccountTypes()
{
return typeService.GetAccountTypes();
}
}
}
3.3、UI层
在FrmAddAccount窗体初始化时,将查询到的所有账号类型添加到账号类型下拉框中;
FrmAddAccount窗体的UI组态可以查看:
所有初始化的内容需要放到构造方法里面,所以代码如下:
using LeiGongBLL;
using LeiGongModels;
namespace LeiGongNotes
{
public partial class FrmAddAccount : Form
{
private AccountTypeManager typeManager = new AccountTypeManager();
public FrmAddAccount()
{
InitializeComponent();
//动态填充账号分类下拉框
this.cbbType.DataSource = typeManager.GetAccountTypes();
this.cbbType.DisplayMember = "TypeName";//设置该属性为UI中看到的信息列设置;
this.cbbType.ValueMember = "TypeId";//保存到数据库使用的外键值;
}
}
}
04 后记
以上为数据库查询账号类别并动态绑定到下拉框的实现方法,接下来继续学习如何将账号信息保存到数据库。
有感兴趣的小伙伴欢迎围观。
本文暂时没有评论,来添加一个吧(●'◡'●)