第十章+C#数据库操作.ppt_第1页
第十章+C#数据库操作.ppt_第2页
第十章+C#数据库操作.ppt_第3页
第十章+C#数据库操作.ppt_第4页
第十章+C#数据库操作.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

第10章C 的数据库操作 内容提要 数据库的概念Access数据库 SQL常用语句ADO NET编程目的要求 理解数据库的概念掌握Access数据库的用法能够进行ADO NET编程重点难点 ADO NET编程 10 1Access数据库 数据库管理系统DBMS databasemanagementsystem 则是用来操作与管理数据库的软件 MicrosoftAccess MicrosoftSQLServer Oracle都是属于DBMS软件 通过这些软件 用户可以对数据进行定义 创建与运算 其中 定义 define 是指明数据的类型 结构及其相关限制 创建 construct 是输入并保存数据 而 运算 manipulate 则包括查询 更新 插入 删除 产生报表等操作 10 1 1建立Access数据库表 1 打开空白数据库 1 选按 开始 程序 MicrosoftAccess 启动Access 然后单击菜单 文件 新建 屏幕上会出现如图所示的 新建文件 面板 在该面板中点取 空数据库 打开空白数据库 2 出现 文件新建数据库 对话框 如图所示 指定新数据库的保存位置 文件名 然后按 创建 在此 将新数据库存放在 我的文档 内 文件名称为 Friend 文件夹型为 MicrosoftOfficeAccess数据库 保存空白数据库 定义各个表的字段名称与数据类型 1 出现如图所示的窗口 在 使用设计器创建表 上双击 使用设计器创建表 2 在 字段名称 字段输入表第一个字段名称 在此为 编号 然后在 数据类型 字段的下拉式列表框中选取这个字段的数据类型 在此为 数字 再于 说明 字段输入这个字段的描述文字 如图所示 设置字段 3 依照图所示输入八个字段 数据类型及说明 具体设置字段 4 接下来要指定主键 选择 编号 字段 按一下工具栏的 主键 按钮 或单击鼠标右键 在弹出的快捷菜单中选择 主键 随即会看到 编号 字段旁多了一个钥匙符号 表示 编号 字段为主键 然后点取 关闭 按钮 此时 Access会询问是否要保存表 点击 是 设置主键 5 在 另存为 对话框的 表名称 字段输入表的名称 在此为 俱乐部 然后单击 确定 按钮 如图所示 保存表 6 数据库 窗口中增加了如图的 俱乐部 表 俱乐部 表 1 在 俱乐部 表按一下鼠标右键 然后选择 打开 2 依照图10 9所示输入20条记录 输入完毕之后 单击 关闭 按钮 Access会自动保存 3 输入表的数据 俱乐部 表的记录 10 1 2Access数据库操作1 创建新数据库项目利用VisualC 的编程向导创建一个新项目 设计名为 Friend 如图所示 创建新项目Friend 2 创建数据库连接对数据库的操作首先要和数据库建立一个连接 与数据库建立连接可以通过系统提供的控件实现 具体步骤如下 1 打开工具箱中的 数据 卷展栏 如图所示 工具箱中的 数据 卷展栏 2 选择 DataGridView 组件按钮 并将其拖动到应用程序窗口上 将弹出 DataGridView任务 菜单 如图所示 这个向导将指导编程人员一步步地完成对数据库的连接操作 DataGridView任务 菜单 3 展开 DataGridView任务 菜单的 选择数据源 列表 选择 添加项目数据源 如果以前已建好数据库的连接 可以直接单击 选择数据源 列表中已建好的连接的选项 如果还没有建好的连接 可以通过单击 添加项目数据源 按钮建立新的连接 4 在弹出的 数据源配置向导 对话框中选择数据源类型 数据库 单击 下一步 按钮 5 在 数据源配置向导 对话框中单击 新建连接 如图所示 数据源配置向导 对话框中选择数据连接 6 弹出 添加连接 对话框 见图所示 首先查看数据源类型是否需要更改 若要更改 单击 更改 按钮 弹出 更改数据源 对话框 见图所示 在其对话框中选择你所需要的数据源 然后单击 确定 按钮 添加连接 对话框 更改数据源 对话框 7 在 添加连接 对话框中 用户既可以通过在 数据库名称 文本输入框中直接输入所用数据库文件的绝对路径 也可以通过单击 数据库名称 文本输入框右边的 浏览 按钮找到所要访问的数据库绝对路径从而完成数据库访问路径设置 8 单击 下一步 接着在 数据源配置向导 对话框中选择数据库对象 9 单击 完成 按钮 返回到 DataGridView任务 菜单 可以对其它内容进行设置 如 编辑列 添加列 等 10 在应用程序窗口显示如图所示 应用程序窗口显示结果 11 调试程序 运行结果如图所示 数据库信息显示 10 1 3SQL语言简介及常用的SQL命令SQL StructuredQueryLanuage 结构化查询语言 是现代关系数据库的标准语言 现在的大多数数据库系统都采用SQL语言作为共同的数据存取语言和标准接口 使不同数据库系统之间的互操作成为了可能 如果要使用SQL编写程序 则需要另一语言或平台来实现所有实际信息的显示 SQL语言的功能极为强大 语言十分简捷 现在介绍常用的4个命令 1 SELECT命令 查询命令 格式 SELECT FROM 功能 对数据库中的数据进行查询 例如 SELECT FROMSTU1 语句 SELECT学号 姓名 数学FROMSTU1 语句 SELECT学号 数学 5FROMSTU1 WHERE关键字在WHERE子句中 用条件表达式来确定要显示的记录 WHERE 例如 SELECT学号 姓名FROMSTU1WHERE数学 90 SELECT学号 姓名FROMSTU1WHERE数学 90OR平均分 85 BETWEEN关键字在WHERE子句中可以使用BETWEEN来指定可接受值的范围 例如 要显示学生档案表STU2中数学成绩在91到92的学生情况 SELECT FROMSTU2WHERE数学BETWEEN 91 AND 92 LIKE关键字 格式 WHERELIKE说明 字符串常量中的字符可以包含如下两个特殊符号 表示任意长度的字符串 表示任意一个字符例 查询所有姓 张 的学生的学号和姓名 SELECT学号 姓名FROM学生表WHERE姓名LIKE 张 例 查询第二个汉字是 红 的学生的学号和姓名SELECT学号 姓名FROM学生表WHERE姓名LIKE 红 IN关键字在WHERE子句中使用IN可以指定值是否在表中 例如 显示学号为962102和962104的记录 SELECT FROMSTU2WHERE学号in 962102 962104 ORDERBY关键字ORDERBY ASC DESC 子句用来对数据结果排序 ASC按升序排列 DESC按降序排列 默认是ASC 如 SELCET FROMSTU1WHERE数学IN 78 92 91 其结果按原记录顺序显示 要安数学成绩排序 需加上ORDERBY子句 如下例 SELECT FROMSTU1WHERE数学IN 78 92 91 ORDERBY数学 2 INSERT命令 插入命令 格式 INSERTINTO 字段列表 VALUE 数据列表 功能 插入一条新记录 其内容是将VALUE后 数据列表 中的数据依次送到 字段列表 中的各字段 如 INSERTINTOSTU1 学号 姓名 计算机基础 数学 马列原理 体育 总分 平均分 VALLUE 962105 李小丽 77 88 90 80 2 3 UPDATE命令 更新命令 格式 UPDATESET WHERE 例如 UPDATESTU2SET就读方式 统招 UPDATESTU1SET计算机基础 计算机基础 1 15 4 DELETE命令 删除命令 格式 DELETEFROM 表文件名 WHERE 表达式 如 DELETEFROMSTU2WHERE性别 女 10 2客户 服务器 C S 模式编程在网络应用中 应用模式的发展变化 可以按出现的时间次序为 1 文件服务器模式及域模式 2 客户机 服务器模式 client server 模式 以下简称为C S模式 3 以Internet Intranet为网络环境的B S Browser Server 模式 4 电子商务的B2B模式和B2C模式其中文件服务器模式及域模式主要是从对用户和资源管理角度考虑的 数据计算发生在每个用户的工作站上 而B S模式是C S模式在Internet环境下的新的体现方式 电子商务则事从网络应用领域这一角度而言的 从最典型的数据库管理系统的应用来看 在LAN上采取的C S模式 即指在LAN中至少有一台数据库服务器 DBMSserver 可以作为希望去存取公共数据库的各台工作站的后援支持 把应用任务中的程序执行内容划分成两部分 与数据库存取有关的部分由DBMSserver承担 与应用的人机界面处理 输入 输出或一部分应用的逻辑功能等有关的内容由client端工作站承担 10 3ADO NET概念无论什么样的程序 都要与数据打交道 现在的程序中要处理的信息量越来越大 早已不能满足几个变量所提供的信息量 而是把大量信息预先存储到数据库文件中 然后利用某种技术读取数据库中的预存信息 将读取的信息送给程序界面显示出来 或将新内容存入数据库 ADO NET就是就是负责数据存取的对象 10 4ADO NET对象10 4 1Connection对象Connection对象用于连接数据库 不同的数据库有不同的Connection对象 对于Access数据库的Connection对象主要是OleDbConnection对象 它的主要功能是负责数据库的连接 在连接到数据库时必须提供连接到数据库的一些属性 如 Provider DataSource等 例 OleDbConnectionmyconn newOleDbconection Provider Microsoft Jet OLEDB 4 0 DataSource f test mdb 例 OleDbConnectionmyconn newOleDbconection Provider Microsoft Jet OLEDB 4 0 DataSource f test mdb 字符串太长 可以改写成如下两条命令 stringstrCon Provider Microsoft Jet OLEDB 4 0 DataSource f test mdb OleDbConnectionmyconn newOleDbconection strCon OleDbconection的两个重要方法 Open 方法 打开与数据库表的连接例 myconn Open Close 方法 关闭与数据库表的连接例 myconn Close 例 privatevoidbutton1 Click objectsender System EventArgse try stringstrCon Provider Microsoft Jet OLEDB 4 0 DataSource F book mdb OleDbConnectionmyConn newOleDbConnection strCon myConn Open MessageBox Show 数据库连接成功 myConn Close catch MessageBox Show 连接错误 错误 例 publicvoidGetConnected try stringstrCon Provider Microsoft Jet OLEDB 4 0 DataSource F Book mdb OleDbConnectionmyConn newOleDbConnection strCon stringstrCom SELECT FROMbook this myDataSet newDataSet myConn Open MessageBox Show 连接成功 OleDbDataAdaptermyCommand newOleDbDataAdapter strCom myConn myCommand Fill myDataSet book myConn Close catch Exceptione MessageBox Show 连接错误 e ToString 错误 privatevoidbutton1 Click objectsender System EventArgse GetConnected dataGrid1 DataSource myDataSet Tables book 10 4 2OleDbCommand对象OleDbCommand对象主要用来执行包括添加数据 删除数据 修改数据以及查询数据的操作的命令对象 例 OleDbCommandinst newOleDbCommand DELETEFROMbookWHEREid 1002 myConnection1 SQL命令的执行一般用ExecuteNonQuery 方法 ExecuteNonQuery 方法 执行不返回结果的SQL语句 常用于记录的插入 删除 更新等操作 例 inst ExecuteNonQuery 应先把连接打开 10 4 3DataAdapter 数据适配器 对象用于在数据源和数据集之间交换数据 NET提供两种主要的数据适配器以供数据库一起使用 1 OleDbDataAdapter控件 2 SqlDataAdapter控件由于我们使用Access建立数据库 因此主要用到OleDbDataAdapter控件 OleDbDataAdapter对象使用Fill 方法将数据从数据源装载到数据集中 格式 OleDbDataAdapter对象名 newOleDbDataAdapter SQL命令 连接名 例 创建一个和数据库的连接 SQL命令字符串stringstrCom SELECT FROM世界杯 创建一个数据集DataSetmyDataSet newDataSet 用OleDbDataAdapter得到一个数据集OleDbDataAdapterda newOleDbDataAdapter strCom myConn 把DataSet绑定世界杯数据表da Fill myDataSet 世界杯 10 4 4DataAdapter 数据适配器 对象它的作用主要是在数据库与DataSet对象之间传递数据 例如 在Command对象发出查询命令后 将获取的数据放入DataSet对象中 NETFramework提供两种主要的数据适配器以供与数据库一起使用 1 OleDbDataAdapter 它适用于由OLEDB提供程序公开的任何数据源 2 SqlDataAdapter 它适用于SQLServer 由于该对象不必通过OLEDB层 所以它比OleDbDataAdapter快 但它只能用于SQLServer7 0或更高版本 由于我们使用Access建立数据库 因此用OleDbDataAdapter控件 OleDbDataAdapter对象使用Fill 方法将数据从数据源装载到数据集中 格式 OleDbDataAdapter对象名 newOleDbDataAdapter SQL命令 连接名 10 4 5DataSet对象当向数据库申请数据时 系统建立数据集和数据库之间的连接 ADO NET向编程人员所提供的数据集对象是DataSet DataSet对象是一个数据集 主要用来存放从数据库中取回的数据 命令格式 DataSet对象名 newDataSet 例 DataSetmyDataSet newDataSet 数据集是包含数据表的集合 数据表包含数据行和列的集合 即DataSet对象包含数据表的集合Tables 而DataTable对象包含数据行的集合Rows 数据列的集合Columns 因此可以直接使用这些对象访问数据集中的数据 例 textBox1 Text myDataSet Tables 0 Rows 3 ItemArray 1 ToString ADO NET编程过程一般可以分为五步 1 与数据库建立连接 创建Connection对象 如果用OleDbConnection命令建立连接 应加入如下代码 usingSystem Data OleDb 连接的两个重要方法 Open 方法Close 方法例 stringstrCon Provider Microsoft Jet OLEDB 4 0 DataSource d book mdb OleDbConnectionmyconn newOleDbconection strCon myconn Open Myconn Close 2 执行SQL命令 创建Command对象 SQL命令主要有SELECT INSERT UPDATE DELETE 3 数据集编程 创建DataSet对象 在ADO NET中 建立连接后就需要使用数据命令打包SQL语句或存储过程 数据集就是临时存储从数据库检索的记录 是从数据源检索的记录的缓存 数据集中可包含一个或多个表 这些表基于实际数据库中的表 因为数据集实际上是数据库的私有副本 所以它不一定反映数据库的当前状态 如果想要查看其他用户进行的最新更改 可以通过调用适当的Fill 方法刷新数据集 4 数据绑定 创建DataAdapter Windows窗体的数据绑定便于在窗体控件中显示数据 如果使用DataGrid控件 则需要使用DataGrid控件进行绑定 主要通过Fill 方法 5 用户界面即将数据库内容显示给用户并可进行修改的界面 例 其中窗体的 Load 事件代码为 privatevoidForm1 Load objectsender System EventArgse try stringstrCon Provider Microsoft Jet O

温馨提示

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

评论

0/150

提交评论