标签:
这个系统是为志晟集团所做的,主要是为了对集团的各个部门每个对办公用品的基本信息的管理。从购买办公用品开始,首先是购买的办公用品的信息录入,到中间的各部门领用,到每月的统计工作等。
本系统采用的是纯三层架构,Sql Server 数据库。思路清晰,过程简单,但是还是有很多的问题,需要总结。
这个是经常使用的,但是自己好长时间没有接触了,有点忘了,于是自己得总结一下,免得以后用到了,不知道怎么搞:
方法如下:
首先,添加模板页。
找到程序集名称→右击→添加→新建项,打开添加新项窗口。
图1-1 打开添加新项窗口
选择要使用的语言,这里我用的是C#,然后选择模板页,修改模板页的名字,最后点击确定。
图1-2 添加新项
添加完后的界面,就如下图,下面是主要的代码:红色的是公共的部分,蓝色的地方是各个子窗体变化的界面。到这里模板页就添加完成了。
图1-3 添加好的模板页界面
添加完成后,如何使用呢?如何建立使用模板的窗体呢?
找到程序集名称→右击→添加→新建项,打开添加新项窗口。
图1-4 打开添加新项窗口
选择使用母版页的Web窗体,修改姓名,点击确定完成添加子窗体。
图1-5 添加使用母版页的Web窗体
弹出选择母版页,选择要使用的母版,点击确定。
图1-6 选择母版页
这样就完成了子窗体的添加,这样添加不同的代码,就会有不同的界面。很nice吧!!
图1-7 子窗体添加代码
做系统中,这个控件非常实用,所以掌握这个真的很有必要。
图2-1 DropDownList
这个控件可以说有三种方式,下面我给大家依次分享:
第一种,在前台用代码来添加内容
图2-2 用代码来添加内容
protected void Page_Load(object sender, EventArgs e)
{
DropDownList1.Items.Add("苹果");
DropDownList1.Items.Add("西瓜");
DropDownList1.Items.Add("香蕉");
DropDownList1.Items.Add("水蜜桃");
}
第二种,在前台用控件自己绑定数据库的来绑定数据
在VS2012+中很多控件设计的都很人性化,可以直接通过控件自身绑定后台数据库的内容,是非常给力的,当然速度是很快的。缺点也自然而生,就是如果数据库崩溃了,那么前台就会没有数据,完蛋犊子了。。下面分享DropDownList通过前台非代码绑定数据:
从工具箱里,拖一个DropDownList出来,它会有一个小三角,点击小三角,选择数据源。弹出数据源配置向导对话框。
图2-2 选择数据源
由于没有数据源,就要新建数据源。点击新建数据源,会弹出下面对话框。
图2-3 选择数据源
在这里我用的是SQL Server数据库,所以选择的数据源是SQL。
图2-4 选择数据源类型
选择数据库后,要进行对数据库的链接,因为是新建立的数据库,所以要点击新建链接。
图2-5 选择数据链接
我相信这个节目是相当的熟悉吧,就按照图例来添数据,完成就可以了。
图2-6 添加链接
傻瓜操作,直接下一步。
图2-7 选择数据链接
傻瓜操作,直接下一步。需要记住这个名字,officemanagerconnectionString,以后可能会用到。
图2-8 将字符串保存到配置文件中
配置SELECT语句,这个真是太神奇了。这是这里最给力的地方, 最霸道的地方,可以直接通过拼凑SELECT语句来完成操作。点赞。
在这里可以选择数据源,添加where条件。还可以进行非Select操作。
图2-9 配置SQL语句
图2-10 查询测试
图2-11 选择数据源
图2-12 界面展示
第三种,通过后台访问来添加内容
这种方法可能是最灵活的,毕竟代码是人工手写的,通过后台数据库访问,直接调动代码。非常给力。这里我就直接展示代码喽~~~
前台WEB层:
//部门显示
CommonFunction cf = new CommonFunction();
List<departmentinfo> list = cf.BCheckDepartment();
if (list != null)
{
//为ddl控件绑定数据源,并设置为请选择
ddlDepartment.DataSource = list;
ddlDepartment.DataTextField = "departmentName";
ddlDepartment.DataBind();
ddlDepartment.Items.Add("全部");
ddlDepartment.Items.Add("--请选择--");
ddlDepartment.Text = "--请选择--";
DateTime dt = DateTime.Now; //当前时间
DateTime start = dt.AddDays(1 - dt.Day);//本月月初
string startMonth = dt.AddDays(1 - dt.Day).ToString("yyyy-MM-dd"); //本月月初
string endMonth = start.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd"); //本月月末
//实例化B层,点击查看后,加载本月所有的申请信息
BQueryPurchaseRequisition bq = new BQueryPurchaseRequisition();
List<requisitioninfo> lists = bq.BQueryAllRecord(startMonth, endMonth);
//判断数据是否存在
if (lists.Count != 0)
{
//如果访问数据存在,显示出来
givQueryRequest.DataSource = lists;
givQueryRequest.DataBind();
GridView1.DataSource = lists;
GridView1.DataBind();
}
else
{
//如果访问数据不存在,显示空
givQueryRequest.DataSource = null;
givQueryRequest.DataBind();
}
}
else
{
ddlDepartment.DataSource = null;
ddlDepartment.DataBind();
}
B层:
//实例化D层,获取部门
departmentinfoDAL department = new departmentinfoDAL();
#region 查询所包含的部门--王雷--2016年4月10日16:06:09
/// <summary>
/// 查询所包含的部门
/// </summary>
/// <returns></returns>
public List<departmentinfo> BCheckDepartment()
{
//调用获取部门的方法
List<departmentinfo> list = department.CheckDepartment();
return list;
}
#endregion
D层:
#region 查询所包含的部门 --王雷--2016年4月22日16:07:50
/// <summary>
/// 查询所包含的部门
/// </summary>
/// <returns></returns>
public List<departmentinfo> CheckDepartment()
{
DataTable dt = new DataTable();
string cmdtext = "select departmentName from [dbo].[T_departmentinfo]";
dt = sqlhelper.ExecuteQuery(cmdtext, CommandType.Text);
List<departmentinfo> list =ModelConvertHelper<departmentinfo>.ConvertToModel(dt);
return list;
}
#endregion
这也算是自己第一次接手项目了,而且还直接接手的是BS的项目,非常高兴,其实在做的过程中,有很多的不足。不过整体还是好的。 加油吧!
标签:
原文地址:http://blog.csdn.net/kisscatforever/article/details/51225037