C-基础管理与设计 8_第1页
已阅读1页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务10设计入住管理模块C#程序设计在实际的应用程序中,最常用的数据存储技术是数据库技术。使用数据库可以减少数据的冗余度,节省数据的存储空间,具有较高的数据独立性和易扩充性,实现了数据资源的充分共享。应用程序使用SQL(结构化查询语言)向数据库管理系统(DBMS)发出命令,由数据库管理系统负责对数据库文件的读写与统一管理,进一步提高了数据库存储数据的高效性和安全性。本任务通过学习在.NET中访问数据库的方法,完成智慧寝室管理平台中入住管理模块的设计。任务描述关系数据库和SQL基本概念认识ADO.NET应用ADO.NET访问数据库使用DataSet控件的数据绑定相关知识关系数据库和SQL基本概念0102关系数据库基本概念使用VisualStudio创建数据库03SQL结构化查询语言关系数据库基本概念关系数据库一般可分为两类:一类是桌面数据库,如AccessFoxPro和dBase等;另一类是客户端/服务器数据库,如SQLServer、Oracle、MySQL等。一般而言,桌面数据库用于小型的、单机的应用程序,它不需要网络和服务器,实现起来比较方便,但它只提供数据的存取功能。客户端/服务器数据库主要适用于大型的、多用户的数据库管理系统。关系数据库基本概念关系数据库中涉及的基本概念主要是表、记录、字段、关系、约束等。(1)表:在关系数据库中,数据是以二维表格的方式存储的,这类似于Excel的工作簿和工作表。一个数据库中可以包含多个数据表(Table)。(2)记录和字段:每个数据表包含了行(Row)和列(Column),其中与行对应的是记录(Record),与列对应的是字段(Field)。(3)关系:数据库中有着许多不同的表格,表和表之间可以通过某种关系(Relation)联系起来。关系可以用来避免在数据库中的数据冗余。(4)关键字:又称为键(Key),是表中某个或多个字段。关系表之间的关联是通过键来实现的,可分为主键(PrimaryKey)与外键(ForeignKey)。其中,主键必须是唯一的,即关系表中任意两条记录都不可能拥有相同内容的主键字段。例如用学号作为学生表的主关键字,可以用来唯一标识一条学生记录。关键字是数据库的约束的一种。(5)其他:在数据库中,除数据表外,一般还存在其他一些数据库对象,如视图(View)、存储过程(StorageProcedure)、索引(Index)等。使用VisualStudio创建数据库在VisualStudio中创建SQLServer数据库,步骤如下:(1)启动VS2019,依次选择“视图”|“SQLServer对象资源管理器”菜单命令,将在VisualStudio界面左侧显示“SQLServer对象资源管理器”窗口。右键单击“SqlServer”,选择“添加SqlServer”。在弹出的“连接”对话框中选择本地数据库服务器“MSSQLLocalDB”,单击“连接”按钮即可。(2)展开“(localdb)\MSSQLLocalDB”,右键单击“数据库”,选择“添加新数据库”。在弹出的“创建数据库”对话框中,输入数据库名称Scientists,并选择保存位置,单击“确定”按钮即可。使用VisualStudio创建数据库(3)展开“Scientists”,右键单击“表”,选择“添加

新表”。在弹出的“表设计器”中为新表增加字段,包括

字段名、数据类型与约束等。也可直接通过SQL语句实现

数据表的创建。(4)展开“表”,右键单击“Table”,在快捷菜单中选择“重命名”,将表名更改为“Scientists”,继续在右键快捷菜单中选择“查看数据”,在弹出的数据窗口中为Scientist表的字段输入相应的数据即可。(5)使用相同的方法创建信息链接表(ProfileInfo表)。SQL结构化查询语言结构化查询语言SQL(StructuredQueryLanguage)是用户与关系数据库进行交互的标准语言。通过SQL语言,可以对关系数据库进行数据查询、编辑等操作。在通常的数据库访问中使用的最多的是4种基本的语句:Select、Insert、Update、Delete。SQL结构化查询语言常见的SQL语句示例如下:(1)选取所有学生信息。Select*FromStudent(2)选取指定字段的数据。Select学号,姓名,学院FromStudent(3)根据条件选取数据,查询在2001年12月30日以后出生的学生。Select*FromStudentWhere出生年月>='2001-12-30'(4)插入一行数据,包含所有字段。Insert

IntoStudent(学号,姓名,性别,出生年月,学院,班级,Email)Values('060301','赵六','男','2002-12-11','经济','20521','zl@163.com')(5)更新学生王大伟的班级和Email地址。UpdateStudentSet班级='060511',Email='wangdawei@263.com'where姓名='王大伟'(6)删除学号为062140的学生数据。DeleteFromstudentwhere学号='062140'关系数据库和SQL基本概念认识ADO.NET应用ADO.NET访问数据库使用DataSet控件的数据绑定相关知识ADO.NET简介0102ADO.NET的基本构成.NET数据提供程序ADO.NET是微软新一代.NET数据库的访问模型。ADO.NET主要由两个核心组件构成:.NET数据提供程序和DataSet数据集,位于.NET的System.Data命名空间中。其中:.NET数据提供程序是专门为数据操作以及快速、只进、只读访问数据而设计的组件。用于各种类型的数据源的访问操作。DataSet数据集可以看作是一个或多个数据表的集合,可提供离线数据访问模式。在访问数据的时候,ADO.NET会利用XML制作数据的一份副本,将数据读入到内存中,再由用户对象来访问和操作数据对象。ADO.NET简介ADO.NET具体由5个核心对象组成。ADO.NET的基本构成类名称说

明OleDb数据库的对象SQLServer数据库的对象Connection建立与特定数据源的连接OleDbConnectionSqlConnectionCommand对数据源执行操作命令并返回结果OleDbCommandSqlCommandDataReader从数据源提取只读、顺序的数据集OleDbDataReaderSqlDataReaderDataAdapter将数据源数据填充到DataSet中或将DataSet中数据更新到数据源OleDbDataAdapterSqlDataAdapterDataSet读取数据源数据并保存在客户端内存中DataSetDataSetADO.NET访问数据库的方式ADO.NET的基本构成由命名空间来提供ADO.NET的常用类:使用SQLServer时,务必在程序中导入相关命名空间: usingSystem.Data; usingSystem.Data.SqlClient;此时,使用的数据提供程序的类的对象为:SqlConnection、SqlCommand、SqlDataReader和SqlDataAdapter。使用基于OleDb的数据库时,务必在导入相关命名空间: usingSystem.Data; usingSystem.Data.OleDb;此时,相应的数据提供程序的类的对象应改为:OleDbConnection、OleDbCommand、OleDbDataReader和OleDbDataAdapter。.NET数据提供程序关系数据库和SQL基本概念ADO.NET简介应用ADO.NET访问数据库使用DataSet控件的数据绑定相关知识应用ADO.NET访问数据库0102数据库连接显示数据记录03更新、插入和删除数据记录04使用参数化SQL语句访问数据库访问数据库操作前首先要连接数据库。在ADO.NET中使用Connection对象建立与数据库的连接。在Connection对象的构造函数中提供参数ConnectionString,用来指定连接的字符串,其中包含源数据库名称和建立初始连接所需的其他参数。建立数据库连接的语法如下:数据库连接//用于连接SQLServer数据库SqlConnectionConnection对象名=newSqlConnection(ConnectionString);或://用于连接Access或其他OleDb数据库OleDbConnectionConnection对象名=newOleDbConnection(ConnectionString);连接字符串(ConnectionString)示例:Server=(Local);InitialCatalog=Northwind;Userid=sa;Password=123456ADO.NET中使用Connection对象建立与数据库的连接。Connection对象的常用属性和方法:数据库连接名

称类

型说

明Database或InitialCatalog属性用来指定要连接的数据库名称DataSource或Server属性用来获取数据源的服务器名或文件名ConnectionString属性用来指定连接的字符串State属性返回连接的当前状态。1表示处于连接状态,0表示连接已关闭Open方法打开连接Close方法关闭连接连接SQLServer数据库。数据库连接Command对象用于对数据源执行操作命令并返回作结果,Command对象常用的构造函数包括两个参数:要执行的SQL语句和已建立的Connection对象。使用语法如下:显示数据记录//用于SQLServer数据库SqlCommandCommand对象名=newSqlCommand(CommandText,Connection对象);或://用于Access或其他OleDb数据库OleDbCommandCommand对象名=newOleDbCommand(CommandText,Connection对象);CommandText用于指定需要进行的SQL操作,Connection对象指定已声明的数据库连接对象。Command对象的常用方法与属性显示数据记录名

称类

型说

明CommandText属性获取或设置要在数据源中执行的SQL语句、表名或存储过程CommandType属性用以指定执行CommandText的操作类型。用Text、StoredProcedure、TableDirect对应SQL命令、存储过程或数据表名Connection属性用来指定使用的数据库连接对象Parameter属性获取SQL语句或存储过程的参数ExecuteReader方法执行CommandText中的操作,并创建DataReader对象,返回多个数据记录ExecuteNonQuery方法执行CommandText中的操作,无返回记录,仅用于数据库操作,如数据插入,更新或删除ExecuteScalar方法执行CommandText中的操作,返回单个数据记录显示数据记录DataReader是一个快速、只进的游标,它可以在数据行的流中进行循环。当执行某个返回数据行集的Command命令时,可以使用DataReader循环访问数据行集。常使用命令对象和ExecuteReader方法来返回DataReader;也可以执行任何SELECT语句和包含SELECT语句的存储过程。它的语法格式如下://用于SQLServer数据库SqlDataReaderDataReader对象名=Command对象.ExecuteReader(); 或://用于OleDb数据库OleDbDataReaderDataReader对象名=Command对象.ExecuteReader();DataReader对象的常用方法与属性显示数据记录名

称类

型说

明FieldCount属性返回字段数目IsClosed属性返回DataReader对象的状态Item[name|ordinal]属性给出字段的内容。其中name为字段名称,ordinal为字段序号RecordsAffected属性在DataReader对象被关闭后有效。给出执行Insert、Delete或Update等命令后受影响的记录数Read方法读取一条记录,并返回一个布尔值,若返回值为False,则表示已经完成对所有记录的读取Close方法关闭DataReader对象GetName方法获取指定列的名称GetOrdinal方法在给定列名时获取相应的列序号GetValue方法获取指定列以本机格式表示的值GetValues方法使用当前行的列值来填充对象数组IsDBNull方法获取一个值,该值指示列中是否包含不存在的或缺少的值查询数据记录时,可使用如下步骤:(1)利用Connection对象建立和数据库的连接;(2)建立Command对象,执行SQL的Select语句命令;(3)用Command对象的ExecuteReader方法建立DataReader对象,从数据库获取数据;(4)用DataReader对象返回的只读、顺序的数据集。显示数据记录使用DataReader对象遍历数据表。显示数据记录使用聚合函数访问数据表。显示数据记录关键代码:……//查询表student中的计算机系的人数stringCmdString="SELECTCount(*)FROMScientistwhere研究领域='物理学'";//创建命令对象SqlCommandCmd=newSqlCommand(CmdString,Conn); Conn.Open(); //执行命令对象的ExecuteScalar方法

txtNum.Text=Cmd.ExecuteScalar().ToString();

……返回单个值访问数据库时还经常需要进行数据插入、数据删除和数据更新的操作,即执行SQL中的Insert语句、Delete语句和Update语句。此时,需要用到Command对象的ExecuteNonQuery方法。操作步骤一般如下:(1)利用Connection对象建立和数据库的连接。(2)建立Command对象,执行SQL的Insert、Update或Delete语句命令。(3)使用Command对象的ExecuteNonQuery方法更新数据库。更新、插入和删除数据记录在数据库表中插入新记录。更新、插入和删除数据记录关键代码:……StringCmdString="InsertintoScientist(编号,姓名,民族)VALUES('S0000003','袁隆平','汉族')";//打开连接Conn.Open(); //执行命令对象的插入操作intresult=Cmd.ExecuteNonQuery();

……返回受影响记录的行数更新数据库记录。更新、插入和删除数据记录带参数的SQL命令:可以利用Command对象的Parameters属性来创建接受参数的SQL查询命令。例:

stringstrSQL=“UpdateStudentSet系别=@系别Where学号=@学号“;该SQL语句中包含了2个参数“@系别”和“@学号”,参数内容先使用Command对象建立参数对象,然后再为其赋值:Command对象.Parameters.AddWithValue("@系别",TextBox1.Text);Command对象.Parameters.AddWithValue("@学号",TextBox2.Text);使用参数化SQL语句访问数据库使用参数化SQL语句将新增记录内容插入数据库。使用参数化SQL语句访问数据库关系数据库和SQL基本概念ADO.NET简介应用ADO.NET访问数据库使用DataSet控件的数据绑定相关知识使用DataSet0102DataSet和DataAdapter使用DataSet显示和更新记录DataSet对象DataSet是一种驻留内存的数据缓存,可以作为数据的无连接关系视图。 1)DataSet对象表示一个完整的数据集,包含了DataTable及其之间的关系。 2)DataTable可以独立创建和使用,也可以作为DataSet的成员使用,作为一种内存容器,同样也可以通过DataAdapter对象填充数据。 3)DataView是DataTable中的数据的动态视图,但不保存实际的数据。

与ADO.NET中的其他对象不同,DataSet对象是与平台无关的,声明语法:

DataSet和DataAdapterDataSet对象名=newDataSet();DataSet对象的常用属性和方法DataSet和DataAdapter名

称类

型说

明Tables属性获取包含在DataSet中的表的集合Clear方法通过移除所有表中的所有行来清除任何数据的DataSetCopy方法复制DataSet的结构和数据Equals方法确定两个DataSet对象是否相等HasChanged方法获取一个值,该值指示DataSet是否有更改,包括新增行、已删除的行或已修改的行。Merge方法将指定的DataSet、DataTable或DataRow对象的数组合并到当前的DataSet或DataTable中DataAdapter对象担任DataSet对象与数据源间的桥梁。DataAdapter使用Command对象在数据源中执行SQL语句从数据源中获取数据,填充DataSet中的表和约束,还可以把用户在DataSet中所做的更改写回到数据源。DataAdapter对象的声明语法:也可以按下式表达:

DataSet和DataAdapterSqlDataAdapter对象名=newSqlDataAdapter(SQL语句,Connection对象);OleDbDataAdapter对象名=newOleDbDataAdapter(SQL语句,Connection对象);SqlDataAdapter对象名=newSqlDataAdapter(Command对象);OleDbDataAdapter对象名=newOleDbDataAdapter(Command对象);DataAdapter对象的常用属性和方法DataSet和DataAdapter名

称类

型说

明SelectCommand属性调用从数据源中查询记录的Command对象InsertCommand属性调用从DataSet中将插入的行写入数据源的Command对象UpdateCommand属性调用从DataSet中将修改的行写入数据源的Command对象DeleteCommand属性调用从数据源中删除行的Command对象Fill方法调用SelectCommand属性所指定的Select语句,并将这些行填充到DataSet表中Update方法将DataSet表的更改传送到相应的数据源中使用Dataset访问数据库的常用基本步骤如下:(1)利用Connection对象建立和数据库的连接。(2)创建DataAdapter对象。(3)使用DataAdapter对象的Fill方法将数据填入DataSet对象。(4)返回DataSet,实施控件的数据绑定。(5)应用程序对数据进行操作(包括查询、插入、更新和删除)。(6)更新DataSet。(7)DataAdapter打开Connection、更新数据库、然后关闭连接。使用DataSet显示和更新记录使用DataSet显示和更新记录。使用DataSet显示和更新记录关系数据库和SQL基本概念ADO.NET简介应用ADO.NET访问数据库使用DataSet控件的数据绑定相关知识控件的数据绑定0102数据绑定使用TextBox控件03使用DataGridView控件数据绑定(DataBinding)是一种数据交换技术,是指程序运行时动态地给控件的属性赋值的过程。它提供了在窗体上的控件中显示和更改来自数据源的信息的方法。当Windows窗体的控件绑定到数据源后:数据源的数据会自动显示在Windows窗体的控件中、Windows窗体的控件中更新后的数据也可以自动写回数据源。实现数据绑定主要使用控件的DataSo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论