




免费预览已结束,剩余54页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一节 数据库的基本操作 创建数据库创建数据表修改数据表删除数据表 返回 第三节 SQL的简单介绍 为方便下面SQL语句的讲解 在这儿我们假定在数据库中已经存在一个存放学生信息的数据库 Student 其中有一个学生入学信息表 Students 其表结构见下表 第三节 SQL的简单介绍 知识架构 1 数据查询select语句2 插入数据insert语句3 更新数据Update语句4 删除数据DELETE语句 返回 第三节 SQL的简单介绍 3 1数据查询select语句 SQL的查询语句也称作SELECT命令 多个查询块可以逐层嵌套执行 SQL的查询可以很方便的从一个表或多个表中检索数据 查询是高度非过程化的 用户值需要表明 要干什么 而不需要说明 怎么去干 系统将自动对查询过程进行优化 可以实现对大多数数据库和多个关联数据库的高速存取 其最大的优点是查询速度快 第三节 SQL的简单介绍 用户要讲清楚 要干什么 需要把询问用语规定的查询格式表示出来 标准的SQL基本查询结构是 SELECT FROM WHERE 其中SELECT子句中用逗号分开的表达式为查询目标 最常用也是最简单的格式是用逗号分开的属性名 FROM指出上述查询不表以及WHERE子句所涉及到的相关的关系名 表名等 WHERE子句查询目标必须满足的条件 系统会根据条件进行选择运算 输出条件为真的元素集合 如果不需要指出条件 则可以省略WHERE子句 第三节 SQL的简单介绍 首先我们的数据表Students如图所示 图Students数据表 第三节 SQL的简单介绍 例 从学生信息表中查出性别为 男 的所有学生的信息 其查询语句应写为 select fromStudentswhereSex 男 结果显示 第三节 SQL的简单介绍 如要查询性别为男的所有同学的学号和姓名两项信息 可以用一下方式 selectStudentID NamefromStudentswhereSex 男 查询结果如图 当然要查询所有同学的相关信息就可以省略WHERE子句 返回 第三节 SQL的简单介绍 3 2插入数据insert语句 Insert语句的作用是向数据表中添加数据 其语法结构是 INSERTINTO 字段1 字段2 字段n VALUES 插入值1 插入值2 插入值n 其INSERTINTO后所跟需要插入值的表名 字段1 字段2 字段n 是要插入值的字段 大括号表示可有省略 当数据表里的字段全部都要插入数据时 就可以省略 VALUES关键字后的括号里跟的是插入表中字段的值 它的顺序必须和前面列出的字段一一对应 如果字段名省略了 就必须和数据表里的字段一一对应 第三节 SQL的简单介绍 例 向学生信息表插入一条数据 INSERTINTOStudentsVALUES 6 李爽 男 4 1990 1 1 四川成都 其查询结果下图所示 由于本表设计时所有字段均不能为空 所以在此处必须插入所有字段 根据表的设计 读者也可以根据自己的需要只插入部份字段的值 返回 第三节 SQL的简单介绍 3 3更新数据Update语句 UPDATE语句的作用是修改数据库中的数据 其语法结构为 UPDATESET WHERE 第三节 SQL的简单介绍 例 若要将学号为6的李爽同学的籍贯进行修改 UPDATEStudentsSETNative 重庆 WHEREStudentID 6 执行该语句后再用下面的SELECT语句进行查询SELECT FROMStudents可以看到已经更新的数据 如下图所示 返回 第三节 SQL的简单介绍 3 4删除数据DELETE语句 删除命令比较简单 删除的单位是元素组 而不是部分字段值 一次可以删除一个 几个 甚至可以将整个表删成空表 只保留表的设计结构 如果要删除某个字段的值 就用需要update将这个字段的值修改为空值 其语法结构 DELETEFROMWHERE DELETE语句跟其他的语句一样可以省略WHERE子句 但是DELETE省略的话将会将整个表全部删除 如果不是删除全表一定不要忘了WHERE子句 第三节 SQL的简单介绍 例 删除学号6同学的所有信息 DELETEFROMStudentsWHEREStudentID 6 执行该语句后再用下面的SELECT语句进行查询 SELECT FROMStudents可以看到删除学号6后的数据 执行操作后的查询结果如下图 返回 第14章简单数据库编程 本章要点 数据库的基本概念 ADO NET的基本概念 NETFramework数据提供程序 ADO NET对象 ADO NET数据控件 ADO NET数据库编程方法 14 1循序渐进学理论 14 1 1数据库的基本概念1 数据库应用概述2 数据库的基本概念所谓数据库 DatabaseDB 其实就是存放在计算机的外存储器中的相关数据的集合 可以形象地看作是数据的 仓库 它是通过文件或类似于文件的数据单位组织起来的 3 数据模型与关系数据库 14 1 2ADO NET概述 ADO NET是一组用于和数据源进行交互的面向对象类库 通常情况下 数据源是数据库 但它同样也能够是文本文件 Excel表格或者XML文件 是在 NET编程环境中优先使用的数据访问接口 1 NETFramework数据提供程序 1 SQLServer NET数据提供程序 2 OLEDB NET数据提供程序 ObjectLinkandembed 即对象连接与嵌入 是通向不同的数据源的低级应用程序接口 3 NET数据提供程序模型的核心对象 NET数据提供程序提供了四个核心对象 分别是Connection Command DataReader和DataAdapter对象 3 使用ADO NET开发数据库应用程序的一般步骤 1 根据使用的数据源 确定使用的 NETFramework数据提供程序 2 建立与数据源的连接 需使用Connection对象 3 执行对数据源的操作命令 通常是SQL命令 需使用Command对象 4 使用数据集对获得的数据进行操作 需使用DataReader DataSet等对象 5 向用户显示数据 需使用数据控件 2 DataSet数据集 DataSet的对象模型 14 1 4ADO NET对象及其编程 1 SqlConnection对象及其使用 功能 建立与特定数据源的连接 一般该对象不会单独使用 而是与其他ADO NET对象一起使用 是其他ADO NET对象的重要组成部分 使用步骤1 声明一个SqlConnection对象2 设置SqlConnection对象对象的ConnectionString属性3 调用SqlConnection对象对象的Open方法 打开数据库连接4 进行数据库操作5 调用SqlConnection对象对象的Close方法 关闭数据库连接 例14 1 编写一个用来测试连接的应用程序 用来建立与SQLServer数据库Student的连接 程序的设置界面如图14 3所示 程序的运行界面如图14 4所示 图14 3程序设计界面 图14 4程序运行界面 使用示例SqlConnectionconn newSqlConnection conn ConnectionString server s20227 SQLEXPRESS database Student integratedsecurity true conn Open MessageBox Show 已正确建立连接 conn Close 说明 ConnectionString属性是SqlConnection最关键的属性 它记录了用于打开SQLServer数据库的字符串 以若干个 key value 的形式组成 中间用分号间隔SQLServer数据库连接字符串中 IntegratedSecurity SSPI表示使用Windows身份验证 即使用运行当前应用程序的用户来连接SQLServer 其中安全支持提供者接口 SSPI 是一组用于微软Windows平台接入安全服务的应用程序接口 APIs SqlConnectionconn newSqlConnection Server DataBase Student UID sa PWD SQLServer验证方式 2 SqlCommand对象及其使用 1 SqlCommand对象的常用属性 功能 表示要对SQLServer数据库执行的一个Transact SQL语句或存储过程 当创建SqlCommand的实例时 读 写属性将被设置为它们的初始值 2 SqlCommand对象的常用方法 ExecuteNonQuery方法 格式 publicintExecuteNonQuery 功能 执行T SQLInsert Delete Update及Set语句等命令 返回受影响的行数 ExecuteReader方法 格式 publicOleDbDataReaderExecuteReader 功能 执行返回行的命令 使用步骤1 声明一个SqlConnection对象2 设置SqlConnection对象对象的ConnectionString属性3 调用SqlConnection对象对象的Open方法 打开数据库连接4 声明一个SqlCommand对象5 设置SqlCommand对象的Connection为SqlConnection对象6 设置SqlCommand对象的CommandText属性 SQL语句 7 根据SQL语句的不同性质 调用相应的Execute 方法8 调用SqlConnection对象对象的Close方法 关闭数据库连接 例14 2 已知在应用程序当前目录下 有一个名为Student的数据库 该数据库中有一个名为student的表 表中的数据如图14 5所示 请使用SqlCommand对象执行SQL命令向表中插入一个学生的信息 学生数据如下 6张和平男11985 7 28安徽无为插入后 student表中的内容如图14 6所示 图14 5插入前的student表中的数据 图14 6插入后的student表中的数据 实例代码 SqlConnectioncon newSqlConnection con ConnectionString server s20227 SQLEXPRESS database Student integratedsecurity true conn Open SqlCommandcmd newSqlCommand cmd Connection conn cmd CommandText insertintoStudentsvalues 6 张一 女 5 1981 1 1 上海 cmd ExecuteNonQuery conn Close 3 SqlDataReader对象及其使用 SqlDataReader 提供一种从SQLServer数据库读取行的只进流的方式 若要创建SqlDataReader 必须调用SqlCommand对象的ExecuteReader方法 而不要直接使用构造函数 在使用SqlDataReader时 关联的SqlConnection正忙于为SqlDataReader服务 对SqlConnection无法执行任何其他操作 只能将其关闭 除非调用SqlDataReader的Close方法 否则会一直处于此状态 例如 在调用Close之前 无法检索输出参数 1 SqlDataReader对象的常用属性 FieldCount属性 功能 获取当前行中的列数 RecordsAffected属性 功能 获取执行SQL语句更改 删除或插入的行数 2 SqlDataReader对象的常用方法 Read方法 格式 publicboolRead 功能 使SqlDataReader前进到下一条记录 NextResult方法 格式 publicboolNextResult 功能 当读取批处理语句的结果时 使数据读取器前进到下一个结果 Close方法 格式 publicvoidClose 功能 关闭SqlDataReader对象 Get 方法 格式 public Get intordinal 使用流程1 定义SqlConnection对象2 定义SqlCommand对象3 设置SqlCommand对象的CommandText属性 一般为Select语句4 打开SqlConnection对象5 通过执行SqlCommand对象的ExecuteReader方法 返回一个SqlDataReader对象6 使用while循环 读取返回结果列表的每一行7 在while循环体内 根据字段类型使用相应的Get方法 获取每个字段的值8 对获取的数据进行处理9 关闭SqlDataReader对象10 关闭SqlConnection对象 例14 3 已知在应用程序当前目录下 有一个名为Student的数据库 该数据库中有一个名为student的表 请编写一个程序用来从该表中读取所有男生的数据 并显示出来 程序的设计界面如图14 7所示 程序的运行界面如图14 8所示 程序运行时单击 连接并读取 按钮 将会把所有男生的数据显示在窗体上 图14 7程序设计界面 图14 8程序运行界面 实例代码 SqlConnectioncon newSqlConnection con ConnectionString server s20227 SQLEXPRESS database Student integratedsecurity true con Open SqlCommandcmd newSqlCommand cmd Connection con cmd CommandText select fromStudentswhereSex 男 SqlDataReadersdr cmd ExecuteReader stringmess while sdr Read mess sdr 0 ToString sdr 1 ToString sdr 2 ToString sdr 3 ToString sdr 4 ToString sdr 5 ToString n MessageBox Show mess sdr Close con Close 4 SqlDataAdapter对象及其使用 表示用于填充DataSet和更新SQLServer数据库的一组数据命令和一个数据库连接 SqlDataAdapter是DataSet和SQLServer之间的桥接器 用于检索和保存数据 SqlDataAdapter通过对数据源使用适当的Transact SQL语句映射Fill 它可更改DataSet中的数据以匹配数据源中的数据 和Update 它可更改数据源中的数据以匹配DataSet中的数据 来提供这一桥接 当SqlDataAdapter填充DataSet时 它为返回的数据创建必需的表和列 如果这些表和列尚不存在 SqlDataAdapter与SqlConnection和SqlCommand一起使用 以便在连接到SQLServer数据库时提高性能 SqlDataAdapter还包括SelectCommand InsertCommand DeleteCommand UpdateCommand和TableMappings属性 以便于数据的加载和更新 1 SqlDataAdapter对象的常用属性 SelectCommand属性 用于在数据源中选择记录 InsertCommand属性 用于在数据源中插入记录 UpdateCommand属性 用于在数据源中更新记录 DeleteCommand属性 用于在数据源中删除记录 2 SqlDataAdapter对象的常用方法 Fill方法 格式 publicintFill DataSetdataSet stringsrcTable 功能 填充DataSet或DataTable Update方法 格式1 publicoverrideintUpdate DataSetdataSet 格式2 publicoverrideintUpdate DataSetdataSet stringTable 功能 为DataSet中每个已插入 已更新或已删除的行调用相应的INSERT UPDATE DELETE语句 5 DataSet对象及其使用 DataSet 数据集 对象 数据集是包含数据表的对象 可以在这些数据表中临时存储数据以便在应用程序中使用 如果应用程序要求使用数据 则可以将该数据加载到数据集中 数据集在本地内存中为应用程序提供了待用数据的缓存 即使应用程序从数据库断开连接 也可以使用数据集中的数据 数据集维护有关其数据的更改的信息 因此可以跟踪数据更新 并在应用程序重新连接时将更新发送回数据库 1 DataSet对象的组成最重要的是DataTableCollection 数据表集合 包括若干个DataTable对象 2 DataSet对象的填充可以使用SqlDataAdapter对象的Fill方法进行构造 3 DataSet对象的访问 格式1 数据集对象名 Tables 数据表名 Rows n 列名 格式2 数据集对象名 Tables 数据表名 Rows n ItemsArray k 假设有一个DataSet对象ds访问DataTable对象 DataTabledt1 ds Tables 0 根据索引DataTabledt2 ds Tables 用户 根据表名访问DataRow对象DataRowdr1 dt1 Rows 0 根据索引DataRowdr2 dt1 Rows 密码 根据字段名 4 向DataSet对象中添加行 5 从DataSet对象中删除行 6 修改DataSet对象中的数据 7 利用DataSet对象更新数据源 例14 4 使用DataAdapter和DataSet对象重新实现例14 3的功能 使用流程1 定义SqlConnection对象2 定义SqlCommand对象3 设置SqlCommand对象的CommandText属性 一般为Select语句4 打开SqlConnection对象5 定义SqlDataAdapter对象 以SqlCommand对象做构造初始值6 定义DataSet对象7 使用SqlDataAdapter对象的Fill方法填充数据集8 获取数据集中的数据进行处理9 关闭SqlConnection对象 实例代码 SqlConnectioncon newSqlConnection server dmt403 SQLEXPRESS database Student integratedsecurity true con ConnectionString server s20227 SQLEXPRESS database Student integratedsecurity true SqlCommandcmd newSqlCommand select fromStudents con cmd Connection con cmd CommandText select fromStudents con Open SqlDataAdaptersda newSqlDataAdapter cmd DataSetds newDataSet sda Fill ds Students dataGridView1 DataSource ds Tables Students con Close 14 3上机练习重应用 14 3 1上机练习一 按照姓名模糊查询程序 练习题目 编写一个按照姓名模糊查询的程序 程序使用的数据依旧是Student数据库中的Student表 程序的设计界面如图14 26所示 程序的运行界面如图14 27所示 程序执行时 在文本框中输入姓名的前若干个字符 然后按 查询 按钮 则在DataGrid控件中显示出满足条件的记录 图14 26程序设计界面 图14 27程序运行界面 textBox9的TextChanged事件 SqlConnectioncon newSqlConnection con ConnectionString server dmt403 SQLEXPRESS database Student integratedsecurity true SqlCommandcmd newSqlCommand cmd Connection con cmd CommandText select fromStudents con Open SqlDataAdaptersda newSqlDataAdapter cmd DataSetds newDataSet sda Fill ds Students foreach DataRowdrinds Tables Students Rows textBox9 AutoCompleteCustomSource Add dr Name ToString SqlConnectioncon newSqlConnection con Conn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45849-2025金属粉末床熔融成形机床鉴定技术规范
- 森林运动会两只老虎课件
- 2025铁路监理培训考试试题库及答案
- 2025年高级卫生专业技术资格考试脑电图技术(112)(副高级)试题及答案
- 2025年无人机航拍测绘技术中级考试要点梳理与解析
- 2025年教育行业从业人员能力提升模拟题集及答案解析
- 2025年ai笔试题库大全及答案
- 桥梁护栏常识知识培训课件
- 2025年空管招聘考试高频词汇及模拟题实战演练
- 2025年电子商务运营专家面试指南中级模拟题与答案解析
- 近十年中职试卷及答案
- (完整版)销售酒糟合同
- 脑动脉供血不足的护理查房
- 高考数学大全
- 《茶文化》课程标准
- 腰椎间盘突出症的中医治疗及护理课件
- 安徽省合肥市一中、六中、八中2024届数学高一上期末学业质量监测模拟试题含解析
- 电子对抗原理与技术-计算题参考答案
- 外研版初中英语单词总表(7~9)年级
- 商业装修手册
- 医院信息互联互通化成熟度测评
评论
0/150
提交评论