第13讲数据访问与数据绑定.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13讲数据访问与数据绑定

C#.NET编程技术 第13讲 数据访问与数据绑定 内容提要 数据访问的概念 从SqlServer开始 离线数据获取与DataSet Linq to Sql 数据显示 数据绑定 内容提要 数据访问的概念 从SqlServer开始 离线数据获取与DataSet Linq to Sql 数据显示 数据绑定 数据访问的概念 应用程序通过某种方式与数据库建立通信 IPC/TCP/UDP 应用程序向数据库发送操作请求 SQL命令,“SELECT * FROM [TABLENAME]” 数据库服务器处理请求,返回信息 .NET平台对数据库的访问功能,统称为ADO.NET 如何与不同的数据库通信? 不同的数据库,对应了不同的数据库管理系统(DBMS) 例如 MS SQL Server、Oracle等 ADO.NET针对不同的DBMS,分别提供了“数据提供器” .NET平台提供的数据提供器 数据提供器的基本组成 ADO.NET数据访问示意图 内容提要 数据访问的概念 从SqlServer开始 离线数据获取与DataSet Linq to Sql 数据显示 数据绑定 从SqlServer开始 命名空间:System.Data.SqlClient 连接对象:SqlConnection 命令对象:SqlCommand 在线读取器对象:SqlDataReader 离线读取适配器对象:SqlDataAdapter 事务对象:SqlTransaction 建立与SqlServer的连接 public SqlConnection( string connectionString ) 创建SqlConnection对象 传递连接字符串给SqlConnection对象 使用Open方法(尝试)打开连接 使用Close方法关闭连接 连接SqlServer数据库示例 连接字符串放在哪 直接硬编码在代码里(如上页) 放在配置文件中 Windows程序:app.config Web程序:web.config 使用配置文件的连接字符串 SqlConnection类继承结构 使用SqlCommand类 可以执行哪些操作命令? 单条sql操作命令 如 select, update, delete, insert 单条sql定义命令 如create table, drop view 执行存储过程 SqlCommand如何表达存储过程 可以直接使用sql语句调用存储过程 使用SqlCommand.CommandType属性显式指明要执行的命令的类型 指定存储过程示例 SqlCommand执行函数 仅仅指定命令,并不与数据库交互。只有调用了不同的执行函数后才会与数据库交互 ExecuteReader 执行命令,并返回一个读写器对象SqlDataReader 实质上是一个数据库中的游标 ExecuteNonQuery 执行指定的命令,但不返回任何结果 ExecuteScalor 执行命令,并返回第一行第一列的值 ExecuteReader和DataReader ExecuteReader返回一个SqlDataReader对象 使用SqlDataReader获取数据 使用SqlDataReader获取数据 DataReader的性质 使用DataReader对数据库进行读取,是在线操作 操作期间连接一直保持打开,直到显式关闭 DataReader是流式读取 每次Next返回一条记录。即便有千万条记录,也是一条一条返回。 返回的对象类型不可预知 都是以object对象的形式返回 意味着值类型必须box/unbox 何时使用DataReader 读取少量数据时 大批量逐条读取很费时间,会长期占用连接 读取文字信息 SqlDataReader不止在select命令时使用,任何返回结果的命令都可以使用 ExecuteNonQuery SqlCommand.ExecuteNonQuery方法用于执行不返回结果的操作 如update, delete, insert等 int型的返回值,表示操作受影响的记录数 ExecuteScalor SqlCommand.ExecuteScalor方法用于执行某操作,并返回第一行第一列的值 返回值是object类型,同样不是强类型的 值类型会box/unbox 使用命令参数 有时候,SQL命令/存储过程需要参数 如何提供参数? 使用string/StringBuilder构造字符串 使用命令参数:SqlCommand.Parameters 构造命令字符串 构造命令字符串的问题 参数众多时,构造繁琐 可以使用string.Format 易于遭受SQL注入攻击 在参数字符串中直接写入sql命令 安全使用参数—— SqlCommand.Parameters

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档