C# 数据库编程

上传人:san****019 文档编号:21191372 上传时间:2021-04-25 格式:PPT 页数:39 大小:230.50KB
收藏 版权申诉 举报 下载
C# 数据库编程_第1页
第1页 / 共39页
C# 数据库编程_第2页
第2页 / 共39页
C# 数据库编程_第3页
第3页 / 共39页
资源描述:

《C# 数据库编程》由会员分享,可在线阅读,更多相关《C# 数据库编程(39页珍藏版)》请在装配图网上搜索。

1、第 4章2008.2 4.1 数 据 库 基 础 4.2 SQL查 询 基 础4.3 使 用 ADO.NET4.X ADO.NET 对 象第 4章 ADO.NET数 据 访 问 技 术 1.数 据 库 : 所 谓 数 据 库 ( Database) 是 指 一 组 排 列成 易 于 处 理 或 读 取 的 相 关 信 息 , 它 是 由 一 个 或 多 个 表对 象 组 成 的 集 合 。 这 有 些 类 似 于 Excel的 工 作 簿 和 工作 表 。2.数 据 库 管 理 系 统 : DBMS3.数 据 库 应 用 程 序 : 数 据 库 应 用 程 序 是 指 用 VB、Delphi等

2、 开 发 工 具 设 计 的 、 实 现 某 种 特 定 功 能 的 应 用程 序 。 关 系 型 数 据 库 是 根 据 表 、 记 录 和 字 段 之 间 的 关 系进 行 数 据 组 织 和 访 问 的 一 种 数 据 库 , 它 通 过 若 干 个表 ( Table) 来 存 储 数 据 , 并 通 过 关 系 ( Relation)将 这 些 表 联 系 在 一 起 。 Access、 Paradox、 FoxPro和 dBase等 。SQL Server、 Oracle、 Sybase等。 SQL是 Structured Query Language( 结 构 化 查 询语 言 )

3、 的 缩 写 。 SQL是 专 为 数 据 库 而 建 立 的 操 作 命 令 集 , 是 一 种 功能 齐 全 的 数 据 库 语 言 。SQL命 令 说 明Select 查 询 数 据 ,即 从 数 据 库 中 返 回 记 录 集Insert 向 数 据 表 中 插 入 一 条 记 录Update 修 改 数 据 表 中 的 记 录Delete 删 除 表 中 的 记 录Create 创 建 一 个 新 的 表Drop 删 除 一 个 数 据 表 ADO-ActiveX Data Object ,基 于 数 据 库 连 接 的 操 作 模式 , ADO.NET: “非 连 接 “ 模 式

4、访 问 数 据 库 。访 问 数 据 库 时 , 首 先 要 建 立 与 数 据 库 的 连 接 , 从 数 据 库 中 下载 需 要 的 数 据 到 本 地 缓 冲 区 , 之 后 断 开 与 数 据 库 的 连 接 。 此 时 对 数 据 的 操 作 ( 添 加 、 修 改 、 删 除 等 ) 都 是 在 本 地 进 行的 , 只 有 需 要 更 新 数 据 库 中 的 数 据 时 , 才 再 次 与 数 据 库 连 接 , 在发 送 修 改 后 的 数 据 到 数 据 库 后 关 闭 连 接 。大 大 减 少 了 因 连 接 过 多 ( 访 问 量 较 大 时 ) 对 数 据 库 服务

5、器 资 源 的 大 量 占 用 。 支 持 Connection对 象 , 用 于 连 接 和 管 理 数 据 库 事 务 ; Command对 象 , 用 于 向 数 据 库 发 送 命 令 ; DataSet对 象 , 用 于 对 驻 留 内 存 中 的 数 据 进 行 存储 和 操 作 ; DataAdapter对 象 , 提 供 内 存 中 数 据 集 与 数 据 库交 换 数 据 通 道 ( 又 称 “ 数 据 适 配 器 ” ) ; 用 于 直 接 读 取 流 数 据 的 DataReader对 象 。 System.Data对象,ADO.NET命名空间的核心; System.Da

6、ta.OleDb 连 接 OleDb 数 据 源 , 如 Access,Excel等 数 据 源; System.Data.SqlClient 连 接 SQL Server数 据 源 (sql7.0以 上 ) System.Data.OracleClient 连 接 Oracle数 据 源 System.Data.Odbc 连 接 ODBC数 据 源 数 据 源 Connection Command DataAdapterSqlClient SqlConnection SqlCommand SqlDataAdapterOdbc OdbcConnection OdbcCommand OdbcDa

7、taAdapterOleDb OledbConnection OledbCommand OledbDataAdapterOracleClient OracleConnection OracleCommand OracleDataAdapter 1、 创 建 ADO.NET应 用 程 序 的 步 骤 方 法 一 : 使 用 数 据 适 配 器 创 建 Connection对 象 , 连 接 数 据 库 。 创 建 DataAdapter对 象 , 提 供 数 据 源 与 记 录 集 之间 的 数 据 交 换 , 数 据 库 与 内 存 中 数 据 交 换 。 创 建 DataSet对 象 , 将

8、 从 数 据 源 中 得 到 的 数 据 保存 在 内 存 中 , 并 对 数 据 进 行 各 种 操 作 等 过 程 。 创 建 Windows窗 体 , 并 向 其 中 添 加 必 要 的 控 件 。 设 置 各 控 件 的 属 性 , 编 写 主 要 控 件 的 事 件 代 码 。 方 法 二 : 使 用 DataReader 创 建 Connection对 象 , 连 接 数 据 库 。 创 建 Command对 象 , 执 行 SQL命 令 。 创 建 DataReader对 象 , 提 供 数 据 源 与 记 录 集之 间 的 数 据 交 换 , 数 据 库 与 内 存 中 数 据

9、 交 换 。 注 意 : 使 用 此 方 法 时 需 与 数 据 库 保 持 连 接 2. 使 用 ADO.NET控 件 访 问 数 据 库3. 使 用 ADO.NET代 码 访 问 数 据 库4. 使 用 数 据 窗 体 向 导 主 要 属 性 : ConnectionString, 连 接 字 符 串Provider,Data Source,Userid,Password,Initial Catalog ConnectionTimeout, 连 接 超 时 的 秒 数 DataBase, 返 回 数 据 库 的 名 称 ( 只 读 ) DataSource,返 回 Data source属

10、 性 的 名 称 ( 只 读 ) State,返 回 数 据 库 的 状 态主 要 方 法 : Open,Close,BeginTransaction string connStr =Provider=Microsoft.Jet.OLEDB.4.0;” + “Data Source=.dbDB.mdb“;OleDbConnection conn;conn = new OleDbConnection(connStr);conn.Open(); conn.Close(); 保 存 连 接 字 符 串 至 App.config文 件 :Accesss数 据 源 的 其 他 说 明 :是 否 包 含

11、在 项 目 中如 果 包 含 在 项 目 中 , 是 否 复 制 数 据 适 配 器 主 要 作 用 : 在 数 据 库 与 DataSet之 间 建 立 桥 梁 作 用构 造 方 法 OledbDataAdapter cmd=new OledbDataAdapter(sql,conn);其 中 sql为 SQL语 句 , conn为 连 接 或 连 接 字 符 串常 用 适 配 器OledbDataAdapterSqlDataAdapterOracleAdapter 主 要 属 性 :SelectCommand, 选 择DeleteCommand, 删 除UpdateCommand, 更 新

12、InsertCommand, 插 入说 明 :可 以 根 据 SelectCommnad使 用 CommandBuilder构造 其 它 几 个 语 句 ,此 时 要 求 数 据 表 有 主 键 . Fill方 法执 行 适 配 器 的 SelectCommandDataAdapter.Fill(ds),填 充 数 据 集DataAdapter.Fill(ds,” table” ), 填 充 数 据 表Update方 法执 行 适 配 器 的 Update、 Insert、 Delete等 命 令DataAdapter.Update(ds),更 新 数 据 集DataAdapter.Updat

13、e(ds,” table” ),更 新 数 据表 主 要 作 用用 作 一 个 非 连 接 的 数 据 缓 存 ,从 数 据 源 检索 的 数 据 都 存 放 在 其 中命 名 空 间System.Data.DataSet 与 数 据 表 的 关 系注 :数 据 表 之 间 还 可 以 建 立 关 系 数 据 来 源DataAdapter.Fill(ds),填 充 数 据 集DataAdapter.Fill(ds,”table”), 填 充 数 据 表访 问 数 据 表dataSet.Tables“tablename”类 型 化类 型 化 数 据 集 (类 )非 类 型 化 数 据 集 (对

14、象 或 实 例 ) 常 用 方 法AcceptChanges,提 交GetChanges,返 回 一 个 Dataset对 象HasChanges,是 否 发 生 变 化RejectChanges,恢 复 到 上 一 次 的 状 态Clear,清 除 所 有 的 表 使 用 说 明内 存 中 的 一 个 关 系 数 据 表 ,可 以 作 为 数 据 集的 成 员 来 使 用 ,也 可 以 单 独 创 建 和 使 用 。命 名 空 间System.Data.DataTable 基 本 组 成DataRow,DataColumn主 要 方 法NewRow,Delete,Compute其 它数 据

15、行 的 状 态 (P391) Current,Default,Original,Proposed 对 象 类 型SqlCommand,OledbCommand工 作 于 连 接 状 态构 造 方 法OleCommand cmd=new OleCommand(sql,conn);其 中 sql为 SQL语 句 , conn为 连 接 主 要 属 性CommandType(Text,TableDirect,StoredProcedure)CommandText,SQL语 句 ExecuteNonQuery方 法进 行 不 返 回 任 何 行 的 查 询 (返 回 一 个 整 数 )适 合 Upda

16、te,Delete,Insert语 句ExecuteReader,方 法返 回 一 个 数 据 集 Reader对 象 , 该 对 象 连 接 到 数据 库 的 结 果 集 上 , 允 许 行 检 索适 合 返 回 多 个 结 果 的 Select语 句ExecuteScalar,方 法返 回 第 1行 第 1列 的 值 (object类 型 )适 合 返 回 单 个 值 的 语 句 创 建 说 明通 常 不 单 独 使 用 , 一 般 由 Command对 象 的ExecuteReader方 法 来 产 生 DataReader对 象使 用 说 明用 来 访 问 一 组 前 向 只 读 的

17、数 据 行 , 在 这 个 过 程中 一 直 保 持 与 数 据 库 的 连 接 。通 常 用 于 从 数 据 库 中 返 回 少 量 只 读 数 据 , 优 点是 速 度 较 快 。常 用 方 法Read、 GetValue、 NextValue、 Close conn.Open();myReader=cmd.ExecuteReader();While (myReader.Read() /读 入 一 行 /处 理 数 据 /myReader.GetString(1) 以 字 符 格 式 取 出 当 前 行 的 第 二 列 /myReader.GetFloat(2) myReader.Clos

18、e();conn.Close(); 主 要 作 用 :常 用 来 浏 览 数 据 ,也 可 用 于 简 单 的 编辑 数 据 .数 据 来 源 DataSource数 据 集 (DataSet)数 据 表 (DataTable)或 表 的 视 图 (DataView)BindingSource控 件数 据 来 源 DataMember数 据 表 (当 DataSource指 定 为 数 据 集 时 ,则 需 要 指 定此 属 性 为 数 据 集 中 的 表 ) 主 要 属 性格 式 控 制Columns,数 据 列ReadOnly,只 读AllowUserTo(Add,Delete,Order

19、,Resize)Rows,允许 用 户 的 操 作CurrentCell,CurrentRow ,运 行 时 属 性 主 要 事 件Click,点 击 事 件CellClick,单 元 格 点 击 事 件DefaultValuesNeeded,添 加 新 行 时 发 生RowLeave,行 离 开 事 件 DataBind设 计 时 绑 定运 行 时 绑 定txtName.DataBindings.Add(Text, myDataSet.TablesMEMBER”,”FieldName); /绑 定 某 一 字 段Binding ManagerBindingManagerBase bm;bm=

20、this.BindingContextds.TablesMEMBER“;见 范 例 BindingSource设 置 DataSource属 性设 置 其 他 数 据 显 示 控 件 的 datasource为 该 控 件BindingNavigatorItemsBindingSource DataRelation数 据 关 系数 据 表 之 间 的 关 系 myDataSet.Relations.Add(relations_order_id, myDataSet.Tables“ORDERTITLE”.Columns“订 单 编号 ” , myDataSet.Tables“ORDERDETAIL”.Columns“订 单 编号 ” );见 范 例 本 章 结 束

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!