《Visual C#2005程序设计教程 教学课件 ppt 作者 崔淼 陈明非第12章 数据库技术》由会员分享,可在线阅读,更多相关《Visual C#2005程序设计教程 教学课件 ppt 作者 崔淼 陈明非第12章 数据库技术(38页珍藏版)》请在金锄头文库上搜索。
1、第1章 Visual C#概述 第2章 C#语法基础 第3章 顺序结构程序设计 第4章 选择结构程序设计 第5章 循环结构程序设计 第6章 面向对象编程技术 第7章 继承,第8章 数组与自定义类型 第9章 菜单、工具栏与状态栏 第10章 鼠标键盘事件 第11章 ActiveX控件 第12章 数据库技术 第13章 开发Web应用程序 第14章 异常处理与部署应用程序,下一页,Visual C# 2005程序设计,上一页,第12章 创建数据库应用程序 12.1 数据库基础知识 1. 数据库 所谓数据库(Database)是指一组排列成易于处理或读取的相关信息,它是由一个或多个表对象组成的集合。 2
2、. 数据库管理系统 数据库管理系统是指在操作系统支持下为数据库建立、使用和维护而配置的庞大软件,如Microsoft SQL Server和Microsoft Access等等。,章节目录,上一页,下一页,3. 数据库应用程序 数据库应用程序是指用C#、Visual Basic、FoxPro、Delphi等开发工具设计的、用于实现某种特定功能的应用程序。 4. 数据库系统 数据库系统是由计算机硬件、操作系统、数据库管理系统以及在其他对象支持下建立起来的数据库、数据库应用程序、用户和维护人员等组成的一个整体。,章节目录,上一页,下一页,12.1.2 关系型数据库 关系型数据库是根据表、记录和字段
3、之间的关系进行数据组织和访问的一种数据库,它通过若干个表(Table)来存储数据,并通过关系(Relation)将这些表联系在一起。 1. 关系型数据库的分类 关系型数据库一般可分为两类,一类是桌面数据库。另一类是客户服务器数据库。,章节目录,上一页,下一页,2. 表、记录和字段 表(Table)是一种数据库对象,由若干条描述客观对象多个特征的记录(Record)也称为行(Row)组成。表中每一列(Column)表示客观对象的同一特征点,也称为字段(Field)。 3. 关键字 关键字是表中某个或多个字段,可以是唯一的,也可以是非唯一的。 4. 索引 为了更快地访问数据,大多数数据库都使用关键
4、字对表进行索引。,章节目录,上一页,下一页,4. 索引 为了更快地访问数据,大多数数据库都使用关键字对表进行索引。 5. 关系 数据库中可以包含多张表,表与表之间可以用不同的方式相互关联。,章节目录,上一页,下一页,12.2 使用数据库系统 12.2.1 Microsoft Access 1. 创建数据库 2. 创建数据表 12.2.2 Microsoft SQL Server 1. 创建SQL Server数据库 2. 在SQL Server中创建表 3. 使用SQL Server客户端工具,章节目录,上一页,下一页,12.3 SQL查询基础 SQL(Structured Query Lan
5、guage,结构化查询语言)是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。 Select:查询数据,即从数据库中返回记录集 Insert:向数据表中插入一条记录 Update:修改数据表中的记录 Delete:删除表中的记录 Create:创建一个新的数据表 DRUP:删除一个数据表,章节目录,上一页,下一页,12.3.1 查询语句Select SELECT语句主要用于从数据库中返回需要的数据集,其语法格式为: SELECT select_list INTO new_table_name FROM table_list WHERE search_conditions GROUP
6、BY group_by_list HAVING search_conditions ORDER BY order_list ASC|DESC,章节目录,上一页,下一页,【例12-1】SELECT语句使用示例。 返回“学生信息”表中的所有记录。 SELECT * FROM 学生信息 / 通配符“*”表示包括记录中所有字段 从“学生信息”表中查询“姓名”字段值为“张三”的记录,但仅返回记录的“姓名”字段。 SELECT 姓名 FROM 学生信息 WHERE 姓名=张三,章节目录,上一页,下一页,从“学生信息”表中返回“姓名”、“班级”和“总分”字段,条件为“性别”为“女”,并且“总分”大于360。
7、 SELECT 姓名,班级,总分 FROM 学生信息 WHERE 性别=女 AND 总分360 从“学生成绩”表中返回姓名字段中含有“张”的所有记录。这是在实现“模糊”查询时常用的手段。 SELECT * FROM 学生信息 WHERE 姓名 LIKE %张%,章节目录,上一页,下一页,12.3.2 插入记录语句Insert 使用Insert语句可以向表中插入一条记录,该语句的语法格式为: INSERT INTO 表名称(字段名) VALUE(字段值) 【例12-2】INSERT语句使用示例。 向“学生成绩”表中插入一条记录,并填写“编号”字段值为“0009”,“数学”、“语文”、“英语”字段
8、(成绩)依次为89、76和92。 INSERT INTO 学生成绩(编号,数学,语文,英语) VALUE(0009,89,76,92),章节目录,上一页,下一页,12.3.3 修改记录语句Update 使用Update语句可更新(修改)表中的数据,该语句的语法格式为: UPDATE 表名称 SET 字段名=值 WHERE 条件 【例12-3】UPDATE语句使用示例。 将“学生成绩表”中“总分”大于300的所有记录的“等级”字段值更改为“优秀”。 UPDATE 学生成绩 SET 等级=优秀 WHERE 总分300,章节目录,上一页,下一页,12.3.4 删除记录语句Delete 使用DELET
9、E语句可以删除数据表中指定行,该语句的语法格式为: DELETE FROM 表名称 WHERE 条件 【例12-4】DELETE语句使用示例。 删除学生信息表中“班级”字段值为“网络0001”的所有记录(行)。 DELETE FROM 学生信息 WHERE 班级=网络0001,章节目录,上一页,下一页,12.4 访问数据库 一个典型的数据库应用程序通常会包含以下几个环节: 1) 连接到数据库; 2) 对应用程序进行数据接收准备; 3) 将数据获取到应用程序中; 4) 在Windows窗体上显示数据; 5) 在应用程序中编辑数据; 6) 验证数据; 7) 保存数据到数据库;,章节目录,上一页,下
10、一页,12.4.1 浏览数据库 1. 使用数据源配置向导 “数据源配置向导”用于快速、简便地创建简单的数据库应用程序。该向导可为应用程序提供连接数据库所需的足够信息,创建接收数据的类型化数据集,以及将数据引入应用程序。 设置完毕后可将“数据源”窗口中的表对象直接拖放到窗体上,系统将自动生成绑定到对应字段的数据显示控件并在窗体上方创建一个用于数据库基本操作的工具栏。,章节目录,上一页,下一页,2. 使用DataGridView控件 DataGridView控件是一种在数据库应用程序中常见的数据表格控件,它以表格的形式将数据库信息按行、列方式进行排列。 在创建了一个Windows应用程序后,双击“
11、工具箱”中“数据”栏中的“DataGridView”控件将其添加到窗体中。 缺省地DataGridView控件中以数据表的字段名作为表栏名。,章节目录,上一页,下一页,12.4.2 添加、删除、修改数据库记录 本节将以创建一个具有添加、删除、修改等功能的SQL Server数据库应用程序为例说明其设置方法。 1. 连接SQL Server数据库 启动数据源配置向导,在“选择您的数据连接”对话框中单击【新建数据连接】按钮,在“添加连接”对话框中若默认的连接类型不正确,可单击【更改】按钮打开对话框,选择其中“Microsoft SQL Server”数据源类型,单击【确定】按钮。,章节目录,上一页
12、,下一页,2. TableAdapter配置向导 在程序窗体设计器下方可以看到由系统自动创建的4个对象:DataSet(数据集)、BindingSource(绑定到数据源)、TableAdapter(表适配器)和BindingNavigator(绑定到导航工具栏)。鼠标指向DataSet或TableAdapter单击右键,在弹出的快捷菜单中执行“在数据集编辑器中编辑”命令打开对话框。右键单击表适配器,在弹出的快捷菜单中执行“配置”命令,启动TableAdapter配置向导。,章节目录,上一页,下一页,单击对话框中【高级设置】按钮,打开对话框。用户可根据程序的需要选择是否生成Insert(插入)
13、、Update(更新)和Delete(删除)SQL语句。 单击“输入SQL语句”对话框中的【下一步】按钮,打开对话框。此处可以选择需要为TableAdapter生成哪些方法,如填充(Fill)、返回(Get)及用于将更新直接发送到数据库的方法。单击【下一步】按钮,在对话框中单击【完成】按钮结束TableAdapter配置向导。,章节目录,上一页,下一页,3. 完善程序界面和代码 通过使用数据源配置向导和TableAdapter配置向导,创建的SQL Server数据库应用程序已具有了要求的功能。但为了使程序更加美观、更加人性化还需要进行一些简单的完善。 图12-36所示的是程序运行时的界面,单
14、击(添加)、(删除)或(保存)按钮可实现相应的数据库操作功能。,章节目录,上一页,下一页,保存修改到数据库,章节目录,上一页,下一页,用户单击保存按钮时执行的事件过程代码修改如下: private void stuInfoBindingNavigatorSaveItem_Click (object sender, EventArgs e) this.Validate(); / 验证失去焦点的控件的值 /结束并确认编辑(修改) this.stuInfoBindingSource.EndEdit(); this.stuInfoTableAdapter.Update(this.studentData
15、Set.StuInfo); / 更新数据库 / 下列语句行用于显示提示信息,需要手工添加 MessageBox.Show(“更新成功!“,“系统提示“, MessageBoxButtons.OK ,MessageBoxIcon.Information); ,章节目录,上一页,下一页,添加用户关闭窗体时执行的事件过程代码如下: private void Form1_FormClosed(object sender, FormClosedEventArgs e) / 声明变量用于存放信息框返回结果 DialogResult result; / 用HasChanges()方法判断数据集是否已被修改
16、if (studentDataSet.HasChanges() / 若数据集已被修改则显示信息框提示用户 result=MessageBox.Show(“数据已被修改,是否保存? “,“系统提示“,MessageBoxButtons.YesNo , MessageBoxIcon.Information);,章节目录,上一页,下一页,/ 若用户单击了信息框中的【是】按钮 if (result=DialogResult.Yes) this.Validate(); this.stuInfoBindingSource.EndEdit(); this.stuInfoTableAdapter.Update(this.studentDataSet.StuInfo); ,章节目录,上一页,下一页,关闭程序时的结果,章节目录,上一页,下一页,12.4.3 多表查询应用实例 本节将以创建一个多表查询应用程序为例,简介通过编写代码实现数据库操作功能的一般方法。 设已创建了一个名为employee的A