项目6简历系统数据库应用.ppt

上传人:本田雅阁 文档编号:2097212 上传时间:2019-02-13 格式:PPT 页数:44 大小:892.01KB
返回 下载 相关 举报
项目6简历系统数据库应用.ppt_第1页
第1页 / 共44页
项目6简历系统数据库应用.ppt_第2页
第2页 / 共44页
项目6简历系统数据库应用.ppt_第3页
第3页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《项目6简历系统数据库应用.ppt》由会员分享,可在线阅读,更多相关《项目6简历系统数据库应用.ppt(44页珍藏版)》请在三一文库上搜索。

1、项目6 简历系统数据库应用,1. 了解ADO.NET的相关概念。 2. 会进行数据库连接相; 3. 能使用数据库操作类定义数据操作方法; 4. 能完成简单控件与复杂控件的数据绑定; 5. 能完成简历管理系统的数据连接类与登录类。,教学目标,1.简历管理系统中数据信息如何与系统的关联 2.数据如何从界面传递到数据库 3.从数据库传递到界面,6.1 知识储备,数据访问模型,ADO.NET3.5中提供了以下四种数据库提供程序 1. SQL Server .NET Framework数据提供程序 2. OLE DB .NET Framework数据提供程序 3. ODBC .NET Framework

2、数据提供程序 4. Oracle .NET Framework数据提供程序,6.1.1 .NET Framework数据提供程序,1. SqlConnection类 Sqlconnection类用于表示到 SQL Server 数据库的打开的连接。该类主要有两个构造函数: public SqlConnection() 必须设置SqlConnection对象的ConnectionString 属性,如下面的代码: SqlConnection conn = new SqlConnection(); conn.ConnectionString = “Integrated Security=SSPI;

3、Database= resume; Server=.sqlExpress;“;,6.1.2 数据库访问类, public SqlConnection(string connectionString) 具体如下面的代码: SqlConnection conn = new SqlConnection(“Integrated Security=SSPI;Database= resume; Server=(local);“);,6.1.2 数据库访问类,已知数据连接对象conn,可有3种连接数据方式。 使用数据库文件所在位置进行数据库配置,适用于数据库服务器没开启和开启的情况。 conn.Connec

4、tionString = “Data Source=(local); AttachDbFilename= D:数据库 resume.mdf;Integrated Security=True; Connect Timeout=60; User Instance=True“; 也可以为: conn.ConnectionString = “Data Source=(local); AttachDbFilename= D:数据库 resume.mdf;Integrated Security=True; Connect Timeout=60; User Instance=True“;,6.1.2 数据库

5、访问类, 在项目中使用添加现有项的方法添加数据库文件得到的连接字符串,适用于数据库服务器没开启和开启的情况。得到的连接字符串为: conn.ConnectionString =“Data Source=.SQLEXPRESS;AttachDbFilename=D:数据库 resume.mdf;Integrated Security=True; “;,6.1.2 数据库访问类, 在数据库服务器开启的情况下,可以使用Windows集成安全身份验证,例如: conn.ConnectionString=“Integrated Security=SSPI;Database= resume; Server

6、=localhost;“ 或者: conn.ConnectionString=“Trusted_connection=true;Database= resume;Server=localhost;“; 或者: conn.ConnectionString=“Initial Catalog= resume;Data Source=localhost;Integrated Security=SSPI;“);,6.1.2 数据库访问类,在数据库服务器开启的情况下,另一种是在连接字符 串中指定服务器名、用户id、用户口令、数据库名等信 息。例如: conn.ConnectionString=“serve

7、r=localhost;uid=sa; pwd=123; database=resume“;,6.1.2 数据库访问类,2. SqlCommand类 一般情况下,对数据的插入、删除、查询、更新等 操作通过SqlComand类型的对象来实现。常用的构造函数 有以下3个: public SqlCommand(); public SqlCommand(string cmdtext); Public SqlCommand(string cmdtext, SqlConnection connection);,6.1.2 数据库访问类,假如已知SqlConnetion对象conn,SqlCommand对象

8、的声明方法如下: SqlCommand comd = new SqlCommand(); comd.Connection = conn ; 或者: string sql = “select * from student “; SqlCommand comd = new SqlCommand(sql); comd.Connection = conn; 或者: string s = “ select * from student “; SqlCommand comd = new SqlCommand(s,conn);,6.1.2 数据库访问类,SqlCommand类实现了对数据库的操作,在保持连接

9、的方式访问并操作数据库的一般步骤为: 创建SqlConnection的实例; 创建SqlCommand的实例; 打开连接后,将SqlCommand关联,同时要给SqlCommand的ComandText赋值为合法的sql语句; 执行命令; 关闭连接。,6.1.2 数据库访问类,SqlCommand类常用的操作数据库的方法有以下3个。 ExecuteNonQuery() 方法 ExecuteReader()方法 (3) ExecuteScaler()方法,6.1.2 数据库访问类,3. SqlDataReader类 用于存放Command对象检索得到的数据集。该类 不能使用构造函数实例化,若要创

10、建SqlDataReader ,必须调用SqlCommand对象的ExecuteReader方 法。,6.1.2 数据库访问类,【例6-1】完成一个Windows应用程序,实现简历管理系统中用户信息的注册功能,并且要求昵称nickname不能重复,并实现使用SqlDataReader类查询某一个用户的信息。 分析:这里我们使用Windows应用程序是实现。在项目中添加Users类,类代码见4.5。 (1)添加用户信息,用户信息stuid为标识字段,即自动增长,要添加的字段包括昵称nickname以及密码password,需要添加用户添加方法AddUser,需要传递的参数有两个:nickname

11、的值及password的值。也可以封装为Users类型的对象。,6.1.2 数据库访问类,(2)保证昵称唯一,对要添加的昵称进行数据库检查; (3)实现根据昵称查询,形式参数为nickname的值,返回一个Users类型的对象。判断时,根据stuid的值进行判断,因为stuid是自动增长字段,数据库中如果有记录,最小值为1,所以如果该对象的stuid大于0,则对象不为空,否则,使用改昵称的对象存在。,6.1.2 数据库访问类,实现步骤如下: 建立Windows应用程序,添加“Users”类。 设计窗体如下: 编写代码 运行程序,检验结果。,6.1.2 数据库访问类,图6-1-1 窗体设计,4.

12、 SqlDataAdapter类 SqlDataAdapter隐式使用SqlConnection、 SqlCommand类型的对象填充DataSet对象,完成后 自动断开与数据库服务器的连接。 使用这种方式操作数据库的一般步骤为: 1) 创建SqlConnection的实例 2) 创建SqlComand实例,6.1.2 数据库访问类,3) 创建SqlDataAdapter的实例,并与SqlComand实例关联,需要的的话,通过SqlCommandBuilder设置InsertCommand、UpdateCommand和DeleteComman属性,以便实现数据的更新; 4) 创建DataSet

13、的实例; 5) 使用Fill方法将数据库中的表填充到DataSet的表中; 6) 用DataGridView或其他控件对象编辑或显示数据; 7 需要的话,使用Update方法更新数据库。,6.1.2 数据库访问类,5. DataTable类 DataTable提供了对表中数据的各种操作,常作为 DataSet的成员使用。 DataTable类型的对象可以通过构造函数创建,也 可用 DataAdapter对象的 Fill 方法或 FillSchema 方法在 DataSet中创建。 DataTable对象也包括行、列以及约束等属性。初 次创建需要创建DataColumn的列对象,每一行都是一 个

14、DataRow类型的对象。,6.1.2 数据库访问类,DataTable类型的对象创建流程如下: (1)创建DataTable对象 (2)在DataTable对象中添加列 (3)设置DataTable对象的主键 (4)在DataTable对象中创建行,6.1.2 数据库访问类,【例6-2】创建Student表,包括id、name、password三个字段,并添加数据记录,将结果显示在界面的DataGridView控件上。 分析:生成student表,并添加3个string类型的字段,添加一条或多条数据记录,然后,设置DataGridView控件的DataSource属性为表即可。,6.1.2

15、数据库访问类,图6-1-2 运行结果,6. Dataset类 DataSet类型的对象相当于一个二维的数据库,用于存 放多张DataTable类型的表格,一般情况下,用于实现数据 的浏览等相关操作。 创建DataSet对象 DataSet dataset= new DataSet(); 填充DataSet对象 调用SqlDataAdapter对象的Fill方法将数据填充到 DataSet中的某个表中。,6.1.2 数据库访问类,【例6-3】设计Windows应用程序,实现resume数据库中 addressbook表的数据显示在dataGridView控件上,并能通 过dataGridView

16、控件实现数据更新。 分析:这里使用两种方式实现。 一是使用代码实现SqlConnection、SqlCommand、 SqlDataAdapter、以及DataSet; 一种是使用工具箱中的控件进行实现。,6.1.2 数据库访问类,数据绑定技术就是把已经打开的数据集中某个或者某些字段绑定到组件的某些属性上面的一种技术。 使用数据绑定,可以方便的对已打开的数据集中的记录进行浏览、删除、插入等具体的数据操作、处理。 可以设计时或运行时绑定。 根据控件实现数据绑定的复杂度,分为简单数据绑定与复杂型数据绑定。数据绑定一般步骤: 连接数据库,得到DataSet类型的对象。 根据不同组件,采用不同的数据绑

17、定。,6.1.3 数据绑定,Windows窗体的DataGridView控件 (1)通过代码实现绑定方法如下。 设置DataSource属性为包含要绑定到的DataTable对 象。也可以BindingSource对象绑定到数据表上。 在窗体中添加代码来填充数据集,例如: dataset1 = new DataSet(); dapter.Fill(dataset1,“student“); dataGridView1.DataSource= dataset.Tables0; 或者 dataset1 = new DataSet(); dapter.Fill(dataset1,“student“);

18、 BindingSource binds = new BindingSource(); binds.DataSource =dataset1.Tables0; dataGridView1.DataSource=binds;,6.1.3 数据绑定,(2)通过设计器中将数据绑定到DataGridView的方法 设置DataSource属性为包含要绑定到的数据项的对象。 如果数据集包含相关表(即,如果它包含关系对象),请将DataMember属性设置为表的名称。 编写代码来填充数据集。,6.1.3 数据绑定,2. BindingNavigator的数据绑定 BindingNavigator控件是用于

19、数据处理的导航条。 (1)通过BindingNavigator控件的BindingSource属性进行数据绑定。 (2)代码实现绑定,如下: dataset1 = new DataSet(); dapter.Fill(dataset1,“student“); BindingSource binds = new BindingSource(); binds.DataSource =dataset1.Tables0; dataGridView1.DataSource=binds;,6.1.3 数据绑定,3. TextBox与Label控件的数据绑定 此类控件的数据绑定的方法是把要获取的数据显示在

20、“Text”属性中。通常使用以下两种代码编写方法实现数据 绑定: (1)使用数据集中表的字段直接绑定,如下面的代码: label1.DataBindings.Add(“Text“, dataset.Tables0, “stuid“); textBox1.DataBindings.Add(“Text“, dataset.Tables0, “stuname“);,6.1.3 数据绑定,(2)使用BindingSource类型的对象实现数据绑定,如 下面的代码: BindingSource bindingsource = new BindingSource(); bindingsource.Data

21、Source = dataset.Tables“student“; label1.DataBindings.Add(“Text“, bindingsource, “stuid“); textBox1.DataBindings.Add(“Text”, bindingsource, “stuname“);,6.1.3 数据绑定,4. ListBox和ComboBox控件的数据绑定 这种类型的控件要绑定的属性有3个:“DataSource”( 显示数据集)、“DisplayMember”(显示的数据集中的字 段)、“ValueMember”(读取该控件时实际使用值) 。 使用ListBox实现数据绑

22、定,常用以下两种代码编写方 法实现数据绑定:,6.1.3 数据绑定,(1)使用数据集中表的字段直接绑定,如下代码: listBox1.DataSource = dataset.Tables0; listBox1.DisplayMember dataset.Tables0.Columns1.ToString(); listBox1.ValueMember = dataset.Tables0.Columns0.ToString(); (2)使用BindingSource对象实现数据绑定,如下代码: BindingSource bindingsource = new BindingSource();

23、 bindingsource.DataSource = dataset.Tables“student“; listBox1.DataSource = bindingsource; listBox1.DisplayMember = dataset.Tables0.Columns1.ToString(); listBox1.ValueMember = dataset.Tables0.Columns1.ToString();,6.1.3 数据绑定,【例6-4】通过属性设置与代码编写两种方式实现resume数据中addressbook表信息的数据绑定。,6.1.3 数据绑定,6.2 任务1 实现公用的

24、数据连接和处理类DBConn,6.2 任务1 实现简历系统的公用的数据连 接和处理类DBConn,在简历管理系统中,需要处理数据操作,进行查询、修改、删除、增加等功能,这些功能都需要连接同一个数据库文件,并且执行时不同的查询需要相同类型的查询结果时,只是传递的SQL语句不同,返回值可能是一个数据集合、也可能是一个数据项;修改、删除、增加都属于数据的更新操作,都可以通过SqlCommand类实例的ExecuteNonQuery方法实现。把这些方法加以提取,设计数据访问类,提高代码重用性,并且提高可读性。,6.2.1 任务分析,(1)在类库JianLiClass项目中添加类DBConn,定义访问控

25、制为public,并且添加用于数据连接的字符串。 (2)在类DBConn中,添加检索方法SelectReader()。 (3)实现获取DataSet数据集的检索方法。 (4)使用SqlCommand类实例的ExecuteNonQuery方法实现更新数据库操作。,6.2.2 任务实施,6.3.1 任务分析 学生登录系统时,通过编号与密码进行登录,客户可以直接登录。那么学生登录时,要查找Users表中是否存在学生信息,即根据学生的stuid以及Password进行验证。,6.3 任务2实现登录类LoginDAO,在简历管理系统中,需要处理数据操作,进行查询、修改、删除、增加等功能,这些功能都需要连

26、接同一个数据库文件,并且执行时不同的查询需要相同类型的查询结果时,只是传递的SQL语句不同,返回值可能是一个数据集合、也可能是一个数据项;修改、删除、增加都属于数据的更新操作,都可以通过SqlCommand类实例的ExecuteNonQuery方法实现。把这些方法加以提取,设计数据访问类,提高代码重用性,并且提高可读性。,6.2.1 任务分析,(4)在类库JianLiClass项目中添加类LoginDAO,定义访问控制为public。 (2)在类LoginDAO中,添加方法public bool Login(int stuid, string psd)。 (3)窗体设计如右所示。 (4)编写代

27、码,调试窗体。,6.3.2 任务实施,在对数据库操作过程中,多使用将sql语句赋值给 SqlCommand类型的对象的CommandText属性, 然 后通过相关方法实现对数据库的操作。给CommandText 赋值时可以使用3种方法。 1. 使用Sql语句赋值,这是最常用的方法。 2. 在SQL语句中使用SqlParameter参数,通过给参数赋值完成SQL语句。 3. 调用存储过程。给存储过程的参数赋值。这里补充介绍以下后两种方法。,6.4 相关知识,对SqlCommand操作时,CommandText属性中的 sql语句中可以使用参数进行描述,然后通过参数的操作实 现相应的功能。 参数类型为SqlParameter,调用SqlParameter构 造函数声明相关的参数对象常用的格式如下: SqlParameter 对象名= new SqlParameter(“相关联的参数名“,参数的类型, 长度); 对象名.Value = 参数值; /实现对参数赋值 SqlCommand实例对象.Parameters.Add(对象名); /将参数添加到SqlCommand实例的参数列表中,6.4.1 在SQL语句中使用参数,在数据库程序的操作中,往往会多次调用相同的sql命 令行,数据库提供了存储过程解决这个问题,使用存储过程 实现sql语句。,6.4.2 调用存储过程,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1