已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualC NET程序设计 第十一讲简单数据库编程 沈志忠zzshen78 北京科技大学自动化学院 数据库和数据库系统 数据库 按一定结构组织在一起的相关数据的集合数据库管理系统 DBMS 它是专门负责组织和管理数据信息的软件数据库应用程序 它使我们能够获取 显示和更新由DBMS存储的数据数据库的核心是数据 其具体的组织形式与数据库管理系统紧密关联 而表现形式又取决于数据库应用程序 数据库访问的几个概念 数据源 DataSource 数据源是指本地和远程的物理数据库 或者是XML文件 数据提供者 DataProvider 数据提供者将如何实现与物理数据库或者XML文件连接的复杂过程细节对用户隐藏 展现在用户面前的只是简单地使用该部件轻松地完成连接到一个或多个数据源 传送命令 以及将数据传送到数据集 DataSet 中 数据集 DataSet 数据集对象用来表示来自一个或多个数据源并保存在内存中的表和关系 ADO NET对象模型的结构 ADO NET的对象模型由两个部分组成 数据提供程序 DataProvider 有时也叫托管提供程序 和数据集 DataSet 数据提供程序负责与物理数据源的连接 数据集代表实际的数据 这两个部分都可以和数据使用程序通信 如WebForm窗体和WinForm窗体 1数据提供程序 Net数据提供程序提供了四个核心对象 Connect Command DataReader DataAdapter ADO NET对象模型的结构 2 数据集数据集 DataSet 是记录在内存中的数据 它的结构如图所示 ADO NET数据库开发方式 1 了解ADO NET数据库开发ADO NET在Windows平台下主要有4种数据库访问方式 OLEDB模式 ODBC模式 SQLClient模式和Oracle数据库模式 每一种模式都有前述ADO NET对象模型的一种实现 OLEDB模式OLEDB模式主要用于访问OLEDB所支持的数据库 在使用OLEDB模式时需要引入的命名空间有System Data和System Data OleDb 对应于ADO NET对象模型中的对象 OLEDB模式的对象名称分别为OleDbConnection对象 OleDbCommand对象 OleDbDataAdapter对象和OleDbDataReader对象 ADO NET数据库开发方式 ODBC模式ODBC模式主要用于连接ODBC所支持的数据库 在使用ODBC模式时需要引入的命名空间有System Data和System Data Odbc 对应于ADO NET对象模型中的对象 ODBC模式的对象名称分别为OdbcConnection对象 OdbcCommand对象 OdbcDataAdapter对象和OdbcDataReader对象 SQLClient模式SQLClient模式只用于访问MSSQLServer数据库 是ADO NET中比较特殊的组件 在使用SQLClient模式时需要引入的命名空间有System Data和System Data SqlClient 对应于ADO NET对象模型中的对象分别是SqlConnection对象 SqlCommand对象 SqlDataAdapter对象和SqlDataReader对象 ADO NET数据库开发方式 2 ADO NET中两种基本的数据库开发方式 利用Command对象和DataReader对象直接操作和显示数据可以使用数据命令Command对象和数据读取器对象DataReader以便与数据源直接通信 使用数据命令Command对象和数据读取器对象DataReader直接进行的数据库操作包括 运行查询和存储过程 创建数据库对象 使用DDL命令直接更新和删除 使用DataAdapter对象和DataSet对象如果应用程序需要访问多个源中的数据 需要与其他应用程序相互操作或者可受益于保持和传输缓存结果 则使用DataAdapter适配器对象和数据集DataSet是一个极好的选择 3 使用ADO NET开发数据库应用程序的一般步骤 1 根据使用的数据源 确定使用的 NETFramework数据提供程序 2 建立与数据源的连接 需使用Connection对象 3 执行对数据源的操作命令 通常是SQL命令 需使用Command对象 4 使用数据集对获得的数据进行操作 需使用DataReader DataSet等对象 5 向用户显示数据 需使用数据控件 SQL语言 结构化查询语言 StructureQueryLanguage 简称SQL 是基于关系模型的数据库查询语言 它是一种非过程化的程序语言 如 Select图书名称 出版时间from图书where出版社 机械工业出版社 含义为从BOOK数据库的图书表中将出版社是机械工业出版社的所有图书选出来 并列出它们的图书名称和出版时间 SQL的基本语法 SQL的基本语法 SQL的基本语法 SQL语言 1 数据查询 格式 SELECT ALL DISTINCT TOPN TOPNPERCENT 列名1或表达式1 AS列标题1 列名2或表达式2 AS列标题2 FROM表名1 IN数据库名1 别名1 表名2 IN数据库名2 别名2 WHERE条件 GROUPBY列名1 列名2 HAVING条件 ORDERBY列名1 ASC DESC 列名2 ASC DESC 例如 有语句 Select学号 姓名 年级from学生Where专业 自动化 其作用是 列出自动化专业的全部学生的学号 姓名和年级 又如 有语句 SELECT学生 学号 学生 姓名 必修课成绩 课号 必修课成绩 成绩FROM学生 必修课成绩WHERE学生 学号 必修课成绩 学号其作用是 查询出所有学生的必修课的学习情况 查询结果中包含学号 姓名 课号和成绩 2 插入记录 格式 INSERTINTO表名 字段名1 字段名2 VALUES 表达式1 表达式2 例如 有下列语句 INSERTINTO学生 学号 姓名 专业 VALUES 040501 朱碧春 计算机软件 其功能是向 学生 表中插入一条记录 并给学号 姓名和专业字段赋值 3 修改记录 格式 UPDATE表名SET字段名1 表达式1 字段名2 表达式2 WHERE条件 4 删除记录 格式 DELETEFROM表名 WHERE条件 例如 有以下语句 DELETEFROM学生WHERE专业 经济管理 其作用是从 学生 表中删除所有 经济管理 专业的学生 ADO NET对象及其编程 1 Connection对象及其使用在ADO NET中 通过在连接字符串中提供必要的身份验证信息 使用Connection对象连接到特定的数据源 该对象主要保存了有关数据库服务器的信息 用于打开和关闭与数据库的连接 属性 ConnectionString方法 Open Close ADO NET对象及其编程 例14 1 编写一个用来测试连接的应用程序 用来建立与当前目录下的MicrosoftAccess2002数据库Student mdb的连接 程序的设置界面如图14 3所示 程序的运行界面如图14 4所示 图14 3程序设计界面 图14 4程序运行界面 2 Command对象及其使用 1 Command对象的常用属性 CommandType属性 CommandText属性 CommandTimeout属性 Connection属性 2 Command对象及其使用 2 Command对象的常用方法Prepare方法 格式 publicvoidPrepare ExecuteNonQuery方法 格式 publicintExecuteNonQuery 执行Transact SQLINSERT DELETE UPDATE及SET语句等命令 返回值为受影响的行数 ExecuteReader方法 格式 publicOleDbDataReaderExecuteReader 常用来执行返回数据集结果的命令 如Select语句 例14 2 已知在应用程序当前目录下 有一个名为Student mdb的数据库 该数据库中有一个名为student的表 表中的数据如图14 5所示 请使用Command对象执行SQL命令向表中插入一个学生的信息 学生数据如下 01010106张和平男0101011985 7 28安徽无为插入后 student表中的内容如图14 6所示 图14 5插入前的student表中的数据 图14 6插入后的student表中的数据 3 DataReader对象及其使用 ADO NET的DataReader对象可以从数据库中检索只读 只进的数据流 实现对数据源中的数据高速 只向前的访问 1 DataReader对象的常用属性 FieldCount属性 RecordsAffected属性 2 DataReader对象的常用方法 Read方法 格式 publicboolRead 使DataReader对象前进到下一条记录 Close方法 格式 publicvoidClose 关闭DataReader对象 Get 方法 格式 public Get intordinal 从ordinal指定的列中读取数据 例14 3 已知在应用程序当前目录下 有一个名为Student mdb的数据库 该数据库中有一个名为student的表 请编写一个程序用来从该表中读取所有男生的数据 并显示出来 程序的设计界面如图14 7所示 程序的运行界面如图14 8所示 程序运行时单击 连接并读取 按钮 将会把所有男生的数据显示在窗体上 图14 7程序设计界面 图14 8程序运行界面 4 DataAdapter对象及其使用 DataAdapter通过使用Command和Connection对象在数据源和数据集 DataSet 两者之间构成一座桥梁 即结合DataSet使用 使得DataSet 连接 到数据源中 以便检索和保存数据 本质上DataAdapter是容器 它含有4个预先配置好的Command实例 即SelectCommand InsertCommand DeleteCommand和UpdateCommand 1 DataAdapter对象的常用属性 SelectCommand属性 InsertCommand属性 UpdateCommand属性 DeleteCommand属性 2 DataAdapter对象的常用方法 Fill方法 格式 publicintFill DataSetdataSet stringsrcTable 从参数srcTable指定的表中提取数据以填充数据集 Update方法 格式1 publicoverrideintUpdate DataSetdataSet 把对参数dataSet所指定的数据集进行的插入 删除等操作更新到数据源中 该方法用于数据集中只有一个表 格式2 publicoverrideintUpdate DataSetdataSet stringTable 适用于数据集中存在多个表的情况 5 DataSet对象及其使用 1 DataSet对象的组成DataTable对象 DataRelation对象 DataColume对象 DataRow 2 DataSet对象的填充调用DataAdapter对象的Fill方法 使用DataAdapter对象的SelectCommand的结果来填充DataSet对象 3 DataSet对象的访问 格式1 数据集对象名 Tables 数据表名 Rows n 列名 格式2 数据集对象名 Tables 数据表名 Rows n ItemsArray k 例14 4 使用DataAdapter和DataSet对象重新实现例14 3的功能 4 向DataSet对象中添加行DataRowMyDR MyDs Tables Student NewRow MyDR StudentID 01000102 MyDR Birthday 1983 5 18 MyDS Tables Student Rows Add MyDR 5 从DataSet对象中删除行MyDs Tables Student Rows 4 Delete 6 修改DataSet对象中的数据MyDs Tables Student Rows 4 Native 江苏南京 7 利用DataSet对象更新数据源利用DataAdapter对象的Update方法 数据绑定 在Windows窗体应用程序中 几乎每个商业应用程序都需要从某类数据源中读取信息 而实现这一功能的通常方式是采用数据绑定 数据绑定是指将控件的某些属性值与数据集中的数据元素连接在一起 控件的属性变化会反映到数据集中 反之也一样 数据绑定的好处是可以大大简化数据的展示 此外对绑定的统一管理可以使界面元件能同步更新 实现记录向前向后浏览时的自动同步更新 数据绑定 有两种类型的数据绑定 简单绑定和复杂绑定 简单数据绑定是指将一个控件和单个数据元素 如数据表的列值 进行绑定 大多数Windows窗体控件如文本框控件都具有这个能力 复杂数据绑定指将一个控件和多个数据元素进行绑定 具有该能力的有DataGrid ListBox和ComboBox等控件 数据绑定 对于控件的简单数据绑定 编程实现时是直接指定该控件的DataBindings属性 它是一个集合类型 存储的是Binding类对象 只要调用DataBindings集合的Add方法即可加入新的绑定对象 如 textBox1 DataBindings Add Text dataSet1 stuents studentno 或BindingnewBinging newBinding Text dataSet1 stuents studentno textBox1 DataBindings Add newBinding 例14 6 已知在应用程序当前目录下 有一个名为Student mdb的数据库 该数据库中有一个名为student的表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创业计划书写作指南
- 产后抑郁的团体心理动力学治疗
- 初中数学统计与概率专题训练50题含答案
- 互联网医院患者健康管理成本策略-1
- 初一年级下册册政治教学设计范文
- 有志者事竟成议论文范文
- 主动脉瓣狭窄分子病理机制研究
- 桂林理工2025 年会计专业学位硕士研究生培养方案
- 论文格式排版
- 供应链体系中采购管理的作用及影响分析
- 用探究式化学实验支持学生证据推理能力发展
- 接收预备党员表决票(样式)
- 特立帕肽治疗骨质疏松性骨折中国专家共识(2024版)解读
- 工程伦理课后习题答案(打印版)
- 数控车床点检保养记录表(部位示意图)
- 物理化学实验B智慧树知到期末考试答案章节答案2024年北京科技大学
- 赤城县青羊碎石厂矿山地质环境保护与土地复垦方案
- 2024年宁波永耀供电服务有限公司招聘笔试参考题库附带答案详解
- 氢能源技术在农业领域的应用
- 新一代公安信息网安全方案设计方案
- 殡葬行业培训知识
评论
0/150
提交评论