目 录 一、ADO.NET概述······································································································ 5 内容来自论文无忧网 www.paper51.com
二、用ADO.NET的特点对数据库进行设计·································································· 5 内容来自论文无忧网 www.paper51.com
2.1数据库数据的内存表示····················································································· 5 http://www.paper51.com
2.2数据库数据的断开访问····················································································· 5 paper51.com 2.3在层或控件间共享数据····················································································· 5 copyright paper51.com 三、ADO.Net的封装在用户管理系统中的使用······························································· 5 内容来自www.paper51.com 四、ADO.Net的封装在收银系统中的使用···································································· 6 http://www.paper51.com 五、总结···················································································································· 8 http://www.paper51.com 参考文献 http://www.paper51.com 致谢 内容来自论文无忧网 www.paper51.com 一.ADO.NET概述 copyright paper51.com ADO.NET是建立在工业标准(如XML)的基础之上,它提供了一个数据访问的界面,以便与SQL SERVER 和OLE DB 数据资源进行交互。需要使用数据的应用程序可以使用ADO.NET连接这些数据资源并重新获取、处理和更新数据。ADO.NET最重要的新特点就是使用DataSet代替了原有的RecordSet,大大提高了数据处理的灵活性。另外,ADO.NET能够使用XML在应用程序间交换数据,任何可以读取XML的控件都可以充分利用它。这样,通过发送XML格式的DataSet,开发人员可以很容易地处理共享数据,并将用户接口控件分离到不同的服务器中,从而提高了用户系统的性能和可维护性。 内容来自www.paper51.com
二.用ADO.NET的特点对数据库进行设计 copyright paper51.com 1.数据库数据的内存表示 内容来自www.paper51.com 酒店管理系统中,一个ADO记录看起来像一个表。如果一个记录集包含来自多个数据库表示的数据,那么必须使用一个JOIN查询,将来自不同数据表的数据组装到一个结果表中。相反,ADO.NET DataSet 是一个或多个表的集合。DataSet内的表称为数据表,而且都是DataTable对象。每个DataTable对象通常对应于单个数据表或视图,如果一个DataSet要包含来自多个数据表的数据,那么,通常它必须包含多个DataTable表。 copyright paper51.com 通常情况下,一个DataSet还包含一些数据关系。DataSet内的关系与数据库中的关系类似,能够将某个数据表中的行与另一个数据表中的行关联起来。例如,如果某个DataSet包含一个Customers表,另一个记录集Orders包含每个每个顾客的货物购买情况,它还可以包含一个关系。这个关系将顾客表中的每一行与定单表中的营业员联系起来。在ADO.NET中,这个关系使用DataRelation来表示。 paper51.com 在ADO中,用户可以按顺序对记录集进行扫描;而在ADO.NET中,用户可以使用导航模式,通过遵循关系将一个数据表中的一列移动到另一个数据表的对应列中。例如,从描述Customers数据表行开始,可以导航到描述它的产品购买情况的Orders数据表的各行。 http://www.paper51.com 2.数据库数据的断开访问 http://www.paper51.com
酒店管理系统中,在ADO.NET中,DataSet提供了对数据库的断开访问。在ADO中,记录集可以提供断开的访问,但是主要还是用来提供连接的访问,而且,在ADO中的端开访问和在ADO.NET中的DataSet类似,只需简单地提交一个XML文件即可。XML文件的传递与COM编组方法相比具有明显的优势。 内容来自论文无忧网 www.paper51.com 3.在层或控件间共享数据 内容来自论文无忧网 www.paper51.com 酒店管理系统中,很多控件共享一个表,比如:客房情况查询和客房设置都调用房间情况表。这样就实现了在控件共享。 http://www.paper51.com 三. ADO.Net的封装在用户管理系统中的使用 paper51.com 酒店管理系统在用户管理和会员管理中有很多的共性,本人在设计都是对数据库的读写操作。比如不同类的管理人员登陆,在这里通过在窗体中添加工具箱数据中的DataGirdView控件来作为数据展现的载体,通过窗体的加载来实现。 内容来自论文无忧网 www.paper51.com 代码如下: copyright paper51.com Dim odb As New DB.DB copyright paper51.com
DimsqlSel As String http://www.paper51.com Private SubfrmUser_Load(ByVal sender As System.Object, ByVale As System.EventArgs) HandlesMyBase.Load http://www.paper51.com
sqlSel = "select id as 用户帐号,pwd as 用户密码,role as 用户权限 from users" paper51.com DataGirdView.DataSource = odb.CreateDataTable(sqlSel) // 设置DataGirdView控件的数据来源,这里数据的来源来自用户管理表,显示的结果通过对列名重命名的形式来展示。 内容来自www.paper51.com FreshFrm(0) 内容来自www.paper51.com End Sub 内容来自论文无忧网 www.paper51.com
在窗体的加载过程中,各个文本的控件显示的数据值为DataGirdView中的第一行的相关值,并且当鼠标活动即通过单击DataGirdView中某个值的时候,其它文本的相关值也转移到显示鼠标单击的某行的值。 内容来自论文无忧网 www.paper51.com 代码如下: 内容来自论文无忧网 www.paper51.com txtID.Text =dgdUser.Item(n, 0) paper51.com txtPwd.Text = dgdUser.Item(n, 1) http://www.paper51.com
对数据库的具体操作是通过编辑、添加、删除来实现的。 内容来自论文无忧网 www.paper51.com
关键代码如下: 内容来自论文无忧网 www.paper51.com
Dim strSql = "insert into Users " & _ copyright paper51.com "values ('" & Trim(txtID.Text) & "','" &Trim(txtPwd.Text) & "','" _ http://www.paper51.com & IIf(cmbRole.Text = "管理人员", "admi", "user") & "')" http://www.paper51.com ' 按照顺序将用户输入的数据插入到相应的字段中 内容来自论文无忧网 www.paper51.com
odb.UpdateDataBase(strsql) 内容来自论文无忧网 www.paper51.com DataGirdView.DataSource = odb.CreateDataTable(sqlSel) 内容来自www.paper51.com MsgBox("增加操作成功!",MsgBoxStyle.Information) copyright paper51.com 编辑的相关关键代码如下: http://www.paper51.com Dim strSql As String = "update Users set Pwd='" _ http://www.paper51.com &Trim(txtPwd.Text) & "',Role='" & IIf(cmbRole.Text = "管理人员", "admin", "user") _ copyright paper51.com
& "' where ID='" & Trim(txtID.Text) &"'" copyright paper51.com
' 按照顺序将用户输入的数据插入到相应的字段中 copyright paper51.com odb.UpdateDataBase(strsql) paper51.com DataGirdView.DataSource =odb.CreateDataTable(sqlSel) copyright paper51.com MsgBox("编辑操作成功!", MsgBoxStyle.Information) copyright paper51.com 删除的相关关键代码如下: copyright paper51.com Dim strDel As String = "delete from users where ID = '"& Trim(txtID.Text) & "'" paper51.com odb.UpdateDataBase(strDel) http://www.paper51.com DataGirdView.DataSource = odb.CreateDataTable(sqlSel) 内容来自www.paper51.com MsgBox("删除成功!", MsgBoxStyle.Information) copyright paper51.com |