资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,C#程序设计,C#程序设计,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,C#程序设计,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,aaa,*,项目,6,简历系统数据库应用,1.,了解,ADO.NET,的相关概念。,2.,会进行数据库连接相;,3.,能使用数据库操作类定义数据操作方法;,4.,能完成简单控件与复杂控件的数据绑定;,5.,能完成简历管理系统的数据连接类与登录类。,教学目标,1.,简历管理系统中数据信息如何与系统的关联,2.,数据如何从界面传递到数据库,3.,从数据库传递到界面,6.1,知识储备,数据访问模型,中提供了以下,四种,数据库提供程序,1.SQL Server.NET Framework,数据提供程序,2.OLE DB.NET Framework,数据提供程序,3.ODBC.NET Framework,数据提供程序,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;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.ConnectionString=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,数据库访问类,在项目中使用添加现有项的方法添加数据库文件得到的连接字符串,适用于数据库服务器没开启和开启的情况。得到的连接字符串为:,conn.ConnectionString=Data Source=.SQLEXPRESS;AttachDbFilename=D:,数据库,resume.mdf;Integrated Security=True;,6.1.2,数据库访问类,在数据库服务器开启的情况下,可以使用,Windows,集成安全身份验证,例如:,conn.ConnectionString=Integrated Security=SSPI;Database=resume;Server=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=server=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,对象的声明方法如下:,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,类实现了对数据库的操作,在保持连接的方式访问并操作数据库的一般步骤为:,创建,SqlConnection,的实例;,创建,SqlCommand,的实例;,打开连接后,将,SqlCommand,关联,同时要给,SqlCommand,的,ComandText,赋值为合法的,sql,语句;,执行命令;,关闭连接。,6.1.2,数据库访问类,SqlCommand,类常用的操作数据库的方法有以下,3,个。,ExecuteNonQuery,(),方法,ExecuteReader,(),方法,(3),ExecuteScaler,(),方法,6.1.2,数据库访问类,3.SqlDataReader,类,用于存放,Command,对象检索得到的数据集。该类,不能使用构造函数实例化,若要创建,SqlDataReader,,必须调用,SqlCommand,对象的,ExecuteReader,方,法。,6.1.2,数据库访问类,【,例,6-1】,完成一个,Windows,应用程序,实现简历管理系统中用户信息的注册功能,并且要求昵称,nickname,不能重复,并实现使用,SqlDataReader,类查询某一个用户的信息。,分析:这里我们使用,Windows,应用程序是实现。在项目中添加,Users,类,类代码见,4.5,。,(,1,)添加用户信息,用户信息,stuid,为标识字段,即自动增长,要添加的字段包括昵称,nickname,以及密码,password,,需要添加用户添加方法,AddUser,,需要传递的参数有两个:,nickname,的值及,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.,SqlDataAdapter,类,SqlDataAdapter,隐式使用,SqlConnection,、,SqlCommand,类型的对象填充,DataSet,对象,完成后,自动断开与数据库服务器的连接。,使用这种方式操作数据库的一般步骤为:,1),创建,SqlConnection,的实例,2),创建,SqlComand,实例,6.1.2,数据库访问类,3),创建,SqlDataAdapter,的实例,并与,SqlComand,实例关联,需要的的话,通过,SqlCommandBuilder,设置,InsertCommand,、,UpdateCommand,和,DeleteComman,属性,以便实现数据的更新;,4),创建,DataSet,的实例;,5),使用,Fill,方法将数据库中的表填充到,DataSet,的表中;,6),用,DataGridView,或,其他控件对象编辑或显示数据;,7,需要的话,使用,Update,方法更新数据库。,6.1.2,数据库访问类,5.,DataTable,类,DataTable,提供了对表中数据的各种操作,常作为,DataSet,的成员使用。,DataTable,类型的对象可以通过构造函数创建,也,可用,DataAdapter,对象的,Fill,方法或,FillSchema,方法在,DataSet,中创建。,DataTable,对象也包括行、列以及约束等属性。,初,次,创建需要创建,DataColumn,的列对象,每一行都是一,个,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,数据库访问类,图,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,控件实现数据更新。,分析:这里使用两种方式实现。,一是使用代码实现,SqlConnection,、,SqlCommand,、,SqlDataAdapter,、以及,DataSet,;,一种是使用工具箱中的控件进行实现。,6.1.2,数据库访问类,数据绑定技术就是把已经打开的数据集中某个或者某些字段绑定到组件的某些属性上面的一种技术。,使用数据绑定,可以方便的对已打开的数据集中的记录进行浏览、删除、插入等具体的数据操作、处理。
展开阅读全文