




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章C 的数据库操作 ADO NET向编程人员提供了功能强大的数据访问能力 既可以直接在编程模式下通过输入程序代码设计数据访问程序 也可以利用系统提供的数据访问向导直接进行可视化程序设计 9 1Access数据库数据库 Database 即DB 是存储在一起的相关数据的集合 是存储数据的 仓库 是指依照一定格式存放在一起的数据记录文件 数据库中的信息是以表的形式组成的 一个数据库中可以放多个表 各个表具有行和列 数据库管理系统DBMS databasemanagementsystem 则是用来操作与管理数据库的软件 MicrosoftAccess MicrosoftSQLServer Oracle都是属于DBMS软件 通过这些软件 用户可以对数据进行定义 创建与运算 9 1 1建立Access数据库表选按 开始 程序 MicrosoftAccess 启动Access 屏幕上会出现如图9 1所示的对话框 在任务窗格内点取 空Access数据库 然后单击 确定 按钮 出现 文件新建数据库 对话框 指定新数据库的保存位置 文件名 然后按 创建 在此 将新数据库存放在 我的文档 内 文件名称为 Friend 文件夹型为MicrosoftAccess数据库 信息中心专门人才基本情况表 9 1 1建立Access数据库表选按 开始 程序 MicrosoftAccess 启动Access 屏幕上会出现对话框 在任务窗格内点取 空Access数据库 然后单击 确定 按钮 出现 文件新建数据库 对话框 指定新数据库的保存位置 文件名 然后按 创建 MicrosoftAccess创建的数据库文件的扩展名是 mdb 9 1 2Access数据库操作1 创建新数据库项目2 创建数据库连接对数据库的操作首先要和数据库建立一个连接 与数据库建立连接可以通过系统提供的控件实现 3 创建数据库对象和访问方法4 设置程序显示界面5 显示数据库中的数据 9 2客户 服务器 C S 模式编程概念在网络应用中 应用模式的发展变化 可以按出现的时间次序分为 1 文件服务器模式及域模式 2 客户机 服务器模式 client server 模式 以下简称为C S模式 3 以Internet Intranet为网络环境的B S Browser Server 模式 4 电子商务的B2B模式和B2C模式其中文件服务器模式及域模式主要是从对用户和资源管理角度考虑的 数据计算发生在每个用户的工作站上 而B S模式是C S模式在Internet环境下的新的体现方式 20世纪90年代以来 C S模式得到了十分迅速的流行 它主要从一次数据计算的完成过程这个角度而言的 客户机进行数据请求 请求传到服务器 服务器负责完成数据计算或数据库操作 最终结果返回到客户机 几乎每个新的网络操作系统和每个新的多用户数据库系统都声称能支持C S模式 实现C S模式允许有许多不同的策略 从最典型的数据库管理系统的应用来看 在LAN上采取的C S模式 即指在LAN中至少有一台数据库服务器 DBMSserver 可以作为希望去存取公共数据库的各台工作站的后援支持 把应用任务中的程序执行内容划分成两部分 与数据库存取有关的部分由DBMSserver承担 与应用的人机界面处理 输入 输出或一部分应用的逻辑功能等有关的内容由client端工作站承担 SQL语言简介SQL StructuredQueryLanuage 结构化查询语言 是现代关系数据库的标准语言 现在的大多数数据库系统都采用SQL语言作为共同的数据存取语言和标准接口 使不同数据库系统之间的互操作成为了可能 SQL语言的功能极为强大 语言十分简捷 第321页的表13 1列出了SQL语言的9个命令 这9个命令就可以完成几乎所有的数据操作 在这9个命令中 常用的只有4个 如果要使用SQL编写程序 则需要另一语言或平台来实现所有实际信息的显示 例如 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性别 女 9 3ADO NET编程无论什么样的程序 都要与数据打交道 现在的程序中要处理的信息量越来越大 早已不能满足几个变量所提供的信息量 而是把大量信息预先存储到数据库文件中 然后利用某种技术读取数据库中的预存信息 将读取的信息送给程序界面显示出来 或将新内容存入数据库 ADO NET就是就是负责数据存取的对象 9 3 1ADO NET的概念在应用程序中访问数据库的一般过程为 首先必须连接数据库 接着发出SQL语句 告诉数据库要进行什么样的工作 最后由数据库返回所需的数据记录 在ADO NET中 上述访问数据库的三项工作 分别由三个对象来完成 Connection对象负责连接数据库 Command对象对数据下达SQL命令 DataSet对象用来保存所查询到的数据记录 在ADO NET中 介于DataSet和Connection对象之间 还有一个在数据库与DataSet对象之间扮演传递数据的对象DataAdapter 适配器 此外 还有一个DataView对象 该对象提供了对DataSet对象内的表进行排序 过滤记录及记录搜索等功能 数据集组件 DataSet控件 当向数据库申请数据时 系统建立数据集和数据库之间的连接 ADO NET向编程人员所提供的数据集组件是DataSet DataSet控件是一个数据集 主要用来存放从数据库中取回的数据 命令格式 DataSet对象名 newDataSet 例 DataSetmyDataSet newDataSet 数据适配器组件用于在数据源和数据集之间交换数据 NET提供两种主要的数据适配器以供数据库一起使用 1 OleDbDataAdapter控件 2 SqoDataAdapter控件由于我们使用Access建立数据库 因此主要用到OleDbDataAdapter控件 OleDbDataAdapter对象使用fill 方法将数据从数据源装载到数据集中 使用Update 方法将数据集中的数据返回到数据源中 格式 OleDbDataAdapter对象名 newOleDbDataAdapter SQL命令 连接名 例 创建一个和数据库的连接 SQL命令字符串stringstrCom SELECT FROM世界杯 创建一个数据集DataSetmyDataSet newDataSet 用OleDbDataAdapter得到一个数据集OleDbDataAdapterda newOleDbDataAdapter strCom myConn 把DataSet绑定世界杯数据表da Fill myDataSet 世界杯 da Update myDataSet 世界杯 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 9 3 3ADO NET编程及绑定1 数据集编程在ADO NET中 建立连接后就需要使用数据命令打包SQL语句或存储过程 如果是使用SELECT语句查询数据库 调用命令的执行方法后将返回查询结果 同时将数据缓存到数据集中 用户可使用数据集获取这些行 如果是调用Update命令 则将返回所影响的行数 其他类型的命令将返回一个错误代码 在ADO NET中 数据集就是临时存储从数据库检索的记录 是从数据源检索的记录的缓存 数据集中可包含一个或多个表 这些表基于实际数据库中的表 因为数据集实际上是数据库的私有副本 所以它不一定反映数据库的当前状态 如果想要查看其他用户进行的最新更改 可以通过调用适当的Fill 方法刷新数据集 SQL命令主要有SELECT INSERT UPDATE DELETE 2 数据绑定Windows窗体的数据绑定便于在窗体控件中显示数据 如果使用DataGrid控件 则需要使用DataGrid控件进行绑定 主要通过Fill 方法 例 其中窗体的 Load 事件代码为 privatevoidForm1 Load objectsender System EventArgse try stringstrCon Provider Microsoft Jet OLEDB 4 0 DataSource f book mdb OleDbConnectionmyConn newOleDbConnection strCon stringstrCom SELECT FROMbookorderby编号 myConn Open OleDbDataAdaptermyCommand newOleDbDataAdapter strCom myConn myDataSet newDataSet myCommand Fill myDataSet book this dataGrid1 DataSource this myDataSet Tables book myConn Close catch Exceptionx MessageBox Show 错误 x ToString error 其中 查询 按钮的 单击 事件代码为 privatevoidbutton1 Click objectsender System EventArgse try stringstrCon Provider Microsoft Jet OLEDB 4 0 DataSource f book mdb OleDbConnectionmyConn newOleDbConnection strCon myConn Open stringstrCom SELECT FROMbookWHERE书名Like this textBox1 Text OleDbDataAdaptermyCommand newOleDbDataAdapter strCom myConn this myDataSet Clear myCommand Fill myDataSet book myConn Close catch Execptionx MessageBox Show 错误 x ToString error 其中 添加 按钮的 单击 事件代码为 privatevoidbutton2 Click objectsender System EventArgse try stringstrCon Provider Microsoft Jet OLEDB 4 0 DataSource f book mdb OleDbConnectionmyConn newOleDbConnection strCon myConn Open stringstrCom INSERTINTObook 编号 书名 作者 价格 书架号 VALUES this textBox2 Text this textBox3 Text this textBox4 Text this textBox5 Text this textBox6 Text OleDbCommandinst newOleDbCommand strCom myConn inst ExecuteNonQuery OleDbDataAdaptermyCommand newOleDbDataAdapter SELECT FROMbookorderby编号 myConn myDataSet Clear myCommand Fill myDataSet book myConn Close catch Exceptionx MessageBox Show 错误 x ToString error 其中 删除 按钮的 单击 事件代码为 privatevoidbutton3 Click objectsender System EventArgse try inta this dataGrid1 CurrentCell RowNumber stringstrCon Provider Microsoft Jet OLEDB 4 0 DataSource f book mdb OleDbConnectionmyConn newOleDbConnection strCon myConn Open stringstrCom DELETEFrombookwhere编号 strCom this myDataSet Tables 0 Rows a 0 OleDbCommanddelst newOleDbCommand strCom myConn delst ExecuteNonQuery OleDbDataAdaptermyCommand newOleDbDataAdapter SELECT FROMBookorderby编号 myConn myDataSet Clear myCommand Fill myDataSet book myConn Close catch Exceptionx MessageBox Show 错误 x ToString error 其中 修改 按钮的 单击 事件代码为 这里一次只能修改一行 privatevoidbutton4 Click objectsender System EventArgse try inta this dataGrid1 CurrentCell RowNumber stringstrCon Provider Microsoft Jet OLEDB 4 0 DataSource f book mdb OleDbConnectionmyConn newOleDbConnection strCon myConn Open stringstrCom UPDATEbookset书名 this myDataSet Tables book Rows a 1 作者 this myDataSet Tables book Rows a 2 价格 this myDataSet Tables book Rows a 3 书架号 this myDataSet Tables book Rows a 4 where编号 this myDataSet Tables book Rows a 0 OleDbCommandinst newOleDbCommand strCom myConn inst ExecuteNonQuery OleDbDataAdaptermyCommand newOleDbDataAdapter SELECT FROMbookorderby编号 myConn this myDataSet Clear myCommand Fill myDataSet book myConn Close catch Exceptionx MessageBox Show 错误 x ToString error 修改 多行按钮的 单击 事件代码为 privatevoidbutton2 Click objectsender System EventArgse try stringstrCon Provider Microsoft Jet OLEDB 4 0 Datasource F student mdb OleDbConnectionmyconn newOleDbConnection strCon stringupstr OleDbCommandinst myconn Open inta this myDataSet Tables 0 Rows Count this textBox1 Text a ToString for inti 0 i a i upstr updatestudentset姓名 this myDataSet Tables 0 Rows i 1 upstr 语文 t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家电公司会计核算管理办法
- 高速养护考试题及答案
- 未来摄影师:全球视角与多元影像-2
- 保密考试题多选及答案
- 合肥二建考试题及答案
- 急救药品考试题及答案
- 新疆维吾尔自治区普通高中2026届化学高一上期中监测试题含解析
- 2026届黑龙江省哈尔滨兆麟中学、阿城一中、尚志中学等六校化学高一上期中监测试题含解析
- 知识题库-电厂灰硫主检修工岗位考试题目及答案
- 一年级上册英语试题-Unit7Letscount练习(含答案)沪教牛津版(深圳用)
- 多学科会诊MDT胃恶性肿瘤
- (33)-钠钾泵细胞生物学
- 抗反转录病毒药物的毒副作用
- 项目档案归档目录一览表(档案室用)
- GB/T 242-2007金属管扩口试验方法
- 路基压实度汇总表
- 【食品生产加工技术】香肠的加工技术
- 小学数学三年级下轴对称、平移和旋转强化练习
- 助产士咨询门诊课件
- 数学基础模块上册课件
- 垂体瘤精品课件
评论
0/150
提交评论