操作数据库 C#程序设计课程组.

Slides:



Advertisements
Similar presentations
ADO.NET – 连接数据库. 2 课程地位 STB SQL Server XML PSPM ASP.NET Oracle OOAD Computer Base HTML&JavaScript OOP\Java C C SQL Base JSP/Servlet EJB/WebService C#
Advertisements

上海市场首次公开发行股票 网下发行电子化方案 初步询价及累计投标询价 上海证券交易所 上市公司部.
中考冲刺之 ——现代文阅读技巧2.
第21章 .NET报表设计 (时间:1.5次课,3学时).
硕士论文开题报告 煤炭企业物流信息系统的 研究与设计 指导老师: 学生姓名: 学 号:
五年级家长会 23-JAN-2016.
第13章 数据库的基本应用 Visual Basic 程序设计教程.
第7章利用ADO.NET 进行数据访问.
學生申訴管道 學生受教權的維護.
ASP.NET 網頁製作教本 – 從基本語法學起
ADO .NET 簡介.
第8章 设计数据库应用网站 本章讲述的主要内容 8.1 数据库基础知识 8.2 使用数据库系统 8.3 SQL查询基础
职业理想近距离 班级:13302班 14302班 主持人:指定同学主持 时间:12月12日 19日.
第六章 数据库和ADO.NET 褚龙现 软件学院.
安徽地税金三电子税务局 系统培训 2015年12月.
文科计算机小公共课规划教材 Access 程序设计.
创建广东省现代教育技术 实验学校自查报告 斗门区乾务镇五山中心小学 2012年5月22日.
102學年度預算編製說明會 主辦單位:會計室 102/02/22.
第6章 ADO.NET数据库编程.
在线考试系统 答辩人: 朱允昌、朱碧云、张海燕 汇报时间: 指导老师: 任艳、徐怡 软件应用与开发类
在线考试系统 答辩人: 朱允昌、朱碧云、张海燕 汇报时间: 指导老师: 任艳、徐怡 软件应用与开发类
第22章 汽车制动系 学习目标 1.掌握制动系的工作原理 2.掌握液压传动装置的结构 3.掌握气压传动装置的结构.
面向对象程序设计 (Visual C# .NET)
第9课 北美大陆上的新体制 导入新课 新课教学 课堂小结 知识结构 巩固练习
Visual C# 2010 程式設計經典 第15章 ADO .NET與資料工具.
第16章 Windows Form與資料繫結 16-1 資料繫結的基礎 16-2 在專案新增資料來源 16-3 使用資料來源建立單筆編輯表單
ADO.NET教學 資管所研一 曹明玉 93/4/28.
Chapter 12 T-SQL 語法與 ASP.NET.
ADO.NET.
第20章 LINQ 資料查詢技術 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或拷貝.
主 讲 教 师:陆有军 Web技术与应用 第六章 ADO.NET 主 讲 教 师:陆有军
課程名稱:資料庫系統 授課老師:李春雄 博士
班級:博、碩子一甲 授課老師:鐘國家 助教:陳國政
第15章 ADO.NET的資料庫存取 15-1 ADO.NET的基礎 15-2 建立SQL Server資料庫連接
第6章 ADO.NET数据访问接口 6.
上述代码规范了 INSERT 语句的编写规范,其中:
第2章 ADO.NET 2.0概述.
第十四章 資料庫應用程式 14.1 ADO.NET簡介 14.4 資料的單筆巡覽、新增、 修改、刪除
第7章 ADO.NET操作SQL Server数据库
第8章 数据的排序、搜 索和过滤.
数据保护技术(完整性、并发性、安全性和数据库恢复)
讲课人:王璞 浙江工商职业技术学院.
第9章 事务.
5.5.1 存储过程的优点 ① 事务处理 ② 速度和性能 ③ 过程控制 ④ 安全性 ⑤ 减少网络流量和通信 ⑥ 模块化
5.1.1 使用 ExecuteReader()操作数据库
ASP.net 企业级应用开发 信息工程系:罗明刚.
使用ADO.NET访问数据 数据库连接 C#程序设计课程组.
視窗程式設計簡介-VB、Visual Studio
第十二章 SQL語言簡介 講授大綱: 新增資料庫 新增資料表 新增資料 修改資料 刪除資料 查詢資料 透視ASP.NET-第12章
XML Web Service 开发 第1章 XML Web Service 第2章 XML Web Service 体系结构
C# 程序设计教程 同济大学计算机系基础学科组
Connection对象 访问数据库的第一步是建立连接,只有建立连接,才可能实现 在数据库和应用程序之间移动数据。 ADO提供了连接对象:
第 8 章 VB.NET与数据库应用程序 本章主要内容: ADO.NET体系结构; VB.NET与SQL Server数据库的连接;
第五讲 酒店客房管理系统(一) 教育部“十二五”职业教育国家规划教材
VB2005 DataBase Manipulation Command for Access
第十讲 学生成绩管理系统(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
SQL Server Mobile 2005 程序开发(三)
K/3 Cloud V6.1产品培训 ---集成平台 K/3 Cloud产品部.
K/3 Cloud V6.0产品培训 ---集成平台 K/3 Cloud产品部.
21世纪高职高专规划教材 C#语言程序设计 李继武 彭德林 主 编 张 珑 赵 松 周建辉 副主编
通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
第 10 章 ADO.NET與XML.
ASP.NET实用教程 清华大学出版社 第9章数据库应用 教学目标 教学重点 教学过程 2019年5月3日.
数数据的基本操作 电子工业出版社.
Visual C# 程序设计 第1章 Visual C#概述 第2章 C#语法基础 第3章 顺序结构程序设计 第4章 选择结构程序设计
IT DNA- 微軟MVP、資深IT人胡百敬 資訊產業全攻略!IT知識工作者聯手推薦! 資訊新鮮人》 專業資訊人》 知識工作者》
主辦單位:永豐銀行電子金融處 合作學校/系所:東吳大學資管學系
呈現資料庫內的資料 於網頁上 DataReader物件.
所得稅法第14條、第126條修正條文 薪資所得計算方式二擇一 定額減除 特定費用減除 維持現行薪資所得特別扣除額20萬元減除方式
再戰DataSet.
Presentation transcript:

操作数据库 C#程序设计课程组

Command ? Command 数据源 执行命令并从数据源中返回结果 应用程序 打开数据库 处理数据 …… Connection 怎样处理数据

Command 的主要成员 属性 说明 Connection Command对象使用的数据库连接 CommandText 执行的SQL语句 方法 说明 ExecuteNonQuery 执行不返回行的语句,如UPDATE等 ExecuteReader 返回DataReader对象 ExecuteScalar 返回单个值,如执行COUNT(*)

使用 Command 步骤 使用Command步骤: 1、创建数据库连接 2、定义 SQL 语句 3、创建 Command 对象 4、执行命令 执行命令前,必须打开数据库连接!

连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询表tblWell中的记录数 示例程序 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询表tblWell中的记录数

Command实现

Command核心代码

Command-sql语法检查方法

使用DataReader

连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询表tblWell中的井名,并添加到列表框中 示例程序 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询表tblWell中的井名,并添加到列表框中

Command实现-ExecuteReader

应用程序 DataReader 数 据 库 姓名: 徐礼应 学校: 美国硅谷 徐礼应,美国硅谷,优秀 成绩: 优秀

DataReader 对象 每次读取一行数据 命名空间 对应的 DataReader 对象 System.Data.SqlClient SqlDataReader System.Data.OleDb OleDbDataReader System.Data.Odbc OdbcDataReader System.Data.OracleClient OracleDataReader

DataReader 的主要属性和方法 属性 说明 FieldCount 返回当前行中的列数 方法 说明 Read 前进到下一行记录 Close 关闭 DataReader 对象

DataReader 使用步骤 使用 DataReader 检索数据的步骤: 1、创建 Command 对象 2、调用 ExecuteReader() 创建 DataReader 对象 3、使用 DataReader 的 Read() 方法逐行读取数据 4、读取某列的数据,(type)dataReader[ ] 5、关闭 DataReader 对象 获取某列的值: 方法一:指定列的索引,从0开始 方法二:指定列名 注意:DataReader 使用后必须关闭

Command核心代码

使用ExecuteNonQuery

ExecuteNonQuery Command操作数据库 如何对数据库的数据进行增删改? 数 据 库 应用程序 ExecuteNonQuery 数 据 库 姓名: 徐礼应 学校: 美国硅谷 徐礼应,美国硅谷,优秀 成绩: 优秀

ExecuteNonQuery()方法步骤 1、创建 Connection 对象 2、定义sql 语句 3、创建 Command 对象 4、执行 ExecuteNonQuery() 方法 5、根据返回的结果进行处理

连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 完成添加一口井。表tblWell 示例程序 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 完成添加一口井。表tblWell

tblWell数据记录

tblWell表结构

ExecuteNonQuery()

带参数的命令

使用DataAdapter

内存 .NET 数据提供程序 数 据 库 ExecuteNonQuery() 应用程序 DataSet ExecuteScalar() Read() Fill() Update() ExecuteReader() Command 对象 DataReader 对象 DataAdapter 对象 Connection 对象 数 据 库

DataAdapter DataAdapter 如何将数据库的数据放在 DataSet 中? DataSet 数 据 库 数据集 数据适配器 数据库 DataSet 数据集 Connection 数据库连接

DataAdapter对象 不同命名空间的 DataAdapter 对象 命名空间 对应的 DataAdapter 对象 System.Data.SqlClient SqlDataAdapter System.Data.OleDb OleDbDataAdapter System.Data.Odbc OdbcDataAdapter System.Data.OracleClient OracleDataAdapter

DataAdapter 的主要属性和方法 属性 说明 SelectCommand 从数据库检索数据的 Command 对象 方法 Fill 向 DataSet 中的表填充数据 Update 将 DataSet 中的数据提交到数据库

如何填充数据集 使用 DataAdapter 对象填充数据集 DataSet 数 据 库 数据集 DataAdapter 的 Fill() 方法 数 据 库 Connection 使用 Connection 连接数据源 使用 Fill() 方法填充 DataSet 中的表

填充数据集步骤 1 2 创建 SqlDataAdapter 对象 SqlDataAdapter 对象名 = new SqlDataAdapter(查询用sql语句, 数据库连接); 2 填充 DataSet DataAdapter对象. Fill(数据集对象, "数据表名称字符串");

连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询所有的井显示。表tblWell 示例程序 连接本机SqlServer数据库DrillingLiquid 数据用户名sa,密码123 查询所有的井显示。表tblWell

使用DataGridView

DataGridView控件 DataGridView显示数据 DataGridView常用属性和方法 掌握CommandBuilder对象的使用

DataGridView控件 怎样显示 DataSet 中的数据呢? 使用 DataGridView 数 据 集

DataGridView控件的常用属性 属性 说明 Columns 包含的列的集合 DataSource DataGridView 的数据源 ReadOnly 是否可以编辑单元格 在其中编辑 DataGridView 列的属性

指定水平滚动DataGridView时列是否移动 列的主要属性 DataGridView 中各列的主要属性 属性 说明 DataPropertyName 绑定的数据列的名称 HeaderText 列标题文本 Visible 指定列是否可见 Frozen 指定水平滚动DataGridView时列是否移动 ReadOnly 指定单元格是否为只读

DataGridView控件 实现步骤: 添加窗体的控件 设置 DataGridView 控件和其中各列的属性 设置 DataSource 属性,指定数据源

DataGridView控件

DataGridView控件

DataGridView控件

示例程序 显示当前行油井的信息

核心代码

核心代码

更新数据

内存 .NET 数据提供程序 数 据 库 ExecuteNonQuery() 应用程序 DataSet ExecuteScalar() Read() Fill() Update() ExecuteReader() Command 对象 DataReader 对象 DataAdapter 对象 Connection 对象 数 据 库

在 ADO.NET 中更新数据库 DataSet 客户端 DataAdapter Database 服务器端 数据 填充 更新 数据 DataTable DeleteCommand UpdateCommand InsertCommand 重点: ADO.NET 中使用 Update 方法实现对数据库的更新; 难点: 增、删、改操作都通过 Update 方法实现; 注意: 增、删、改是三种不同的操作,因此 Update 实际上使用了三个不同的 Command 对象来完成对数据库的操作; 课堂提问: 在 ADO.NET 编程时并没有手工编写 Command 对象,那么三个 Command 对象什么时候生成的? -这是在使用 DataAdapter Wizard 时,Visual Studio.NET IDE 自动生成。

更新数据库的3个步骤: 更新DataSet中的数据 更新数据库的数据 将数据库的更新结果通知给DataSet

步骤一: 使用更新信息更新DataSet。更新信息包括新添加的记录、已修改的记录和已删除的记录。 步骤二: 调用DataAdapter对象的Update方法,将更新从DataSet 写回到原始数据源。 调用Update方法时,DataAdapter对更新信息进行分析,然后使用InsertCommand、UpdateCommand、DeleteCommand命令中的一种来处理更新。 必须在调用Update方法以前设置好这些命令。

步骤三: Update方法将更新写回到数据库后,必须通知DataSet数据库是否接受更改。 可以通过DataSet的AcceptChanges来接受修改,或者如果不能修改数据库,则可放弃更改,然后使用RejectChanges方法将DataSet恢复到上一次更新后的状态。

步骤二与三的顺序问题 AcceptionChanges方法会把DataSet中的所有记录的RowState设置为Unchanges,DataAdapter的Update方法会在Dataset中找RowState为Modifed或added或deleted,然后调用对应的Command。所以先调用AcceptionChanges再调用Update是没有作用的。

DataSet.Table( "TableName").Rows( j ).RowState DataAdapter 的 Update 方法更新数据库的过程 更新后,DataSet 中所有的行的 RowSate 属性为 UnChanged 检查 RowState 属性 DataSet.Table( "TableName").Rows( j ).RowState Unchanged Modified Added Deleted DataAdapter 重点: 解释 RowState 属性的含义; 讲述 DataAdapter 的 Update 方法更新数据库的过程; 注意: 可以准备一个使用 DataAdapter 更新数据库的例子,并根据时间和学生的兴趣决定是否演示此例子; 说明:要使用 DataAdapter 更新数据库,必须正确地设置 DataAdapter 的 UpdateCommand、InsertCommand、DeleteCommand 属性。 不执行操作 UpdateCommand InsertCommand DeleteCommand Connection 数据库 sp_UPDATE sp_INSERT sp_DELETE

通过 DataGridView 修改数据 把修改过的数据保存到数据库 通过DataGridView修改数据,也同步修改了 DataSet中的数据 使用 DataAdapter 的 Update() 方法 注意:将 DataGridView 和相应列的 ReadOnly 属性设为 False

SqlCommandBuilder 对象 利用 SqlCommandBuilder 对象能够自动生成: INSERT 命令 UPDATE 命令 DELETE 命令 SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象);

保存 DataSet 中的数据 步骤: 1 2 自动生成用于更新的相关命令 SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象); 2 将 DataSet 的数据提交到数据源 DataAdapter对象. Update(数据集对象, "数据表名称字符串"); SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter); dataAdapter.Update(dataSet,”Students");

示例程序 批量完成数据的添加删除和修改

核心代码

核心代码

内存 .NET 数据提供程序 ADO.NET 小结 数 据 库 ExecuteNonQuery() 应用程序 DataSet ExecuteScalar() .NET 数据提供程序 Read() Fill() Update() ExecuteReader() Command 对象 DataReader 对象 DataAdapter 对象 Connection 对象 数 据 库

总结 在数据库编程中使用数据绑定控件时, DataGridView 控件是 Visual Studio .NET 中提供的最通用、最强大和最灵活的控件 DataGridView控件以表格的形式显示数据,并根据需要支持数据编辑功能,如插入、更新、删除、排序和分页 使用 DataSource 属性为 DataGridView控件设置一个有效的数据源 调用 Update() 方法将DataSet中被修改的数据更新回数据库 使用SqlCommandBuilder对象自动生成DataAdapter对象的InsertCommand、 UpdateCommand 和 DeleteCommand 属性,完成对数据库的增、删、改操作

使用DataView

使用 DataView 数据视图 DataView 是一个对象,它位于数据表上面一层,提供经过筛选和排序后的表视图 通过定制数据视图可以选择只显示表记录的一个子集 DefaultView 属性返回表的默认数据视图 DataView dv = ds.Tables["Authors"].DefaultView;

使用 DataView DataView dv = new DataView(ds.Tables["Authors"]); dv.RowFilter = "state = 'CA'"; dg.DataSource = dv; dg.Databind();

示例程序 使用本地过滤显示数据

核心代码