Ado.net(uwp数据库连接,针对SqlServer)听课笔记

Ado.net(uwp数据库连接,针对SqlServer)听课笔记

Ado.net的组成

对象作用重要方法
Connection提供与数据库的连接sqlConnection
Command执行数据库命令的对象sqlCommand
DataReader从数据源中提供快速的,只读的数据流sqlDataReader
DataApdater提供Dataset对象与数据源的桥梁Fill 、update

Ado.Net访问数据库的步骤

  • 连接到数据库
  • 打开连接
  • 创建执行对象(创建对象)
  • 执行命令
  • 关闭连接

sqlConnection类

  • 继承于DbConnection抽象基类,不能被实例化
  • SqlConnection对象的方飒 (SqlConnection conn = new SqlConnection())
    • ConnectionString=" "; //连接字符串
    • Database;//要连接的数据库名称
    • Datasource //数据源服务器名称(本地loucal 或 . )(远程 Ip,端口号)
    • Stste //连接的状态
    • ConnectionTimeout //尝试连接,等待时间默认15s
    • close与Dispose方法区别:close关闭后还能打开,然而Dispose不行
方法State
关键字状态
closed已关闭
open打开
connnecting正在连接
Executing正在执行命令
Breken连接中断
fetchong正在检索数据
链接字符串的使用

连接字符串是:字符串,一组被格式化的键值对,数据源在哪里,提供什么样的访问信任级别,其他相关信息。

1.sql server身份验证

  • 示范 string connStr = “server=.; Initial Catalog= 数据库名;User=Id;Password=password”
    可以使用User—id表示键值对
    2.windows身份验证
  • 示范 string connStri = “Data Source(server)=…;Initial Catalog = 数据库名:Integrated Security=SSPI”
  • 使用SqlConnectionStringBuilder基类来创建简介字符串
    • 使用SqlConnectionStringBuilder对象的属性设置连接字符串
      1.对象。DataSource=“.” //设置数据源
      2.INitialCatalog = “Testbase ” //连接的数据库名
      3.UserID 和Password
      代码中写连接字符串,如果要修改,过后重新编译,灵活性差,如何解决?
      答:存储连接字符串到配置文件
    • 在后缀为.config 文件添加 connectionStrings 节点
连接对象的创建及使用

== == =================== ==================

using
  • using语句块 —try finally 没有catch,处理异常 —释放对象
  • using 引用命名空间
  • using 命别名 // 如:using con = System.IO
连接池(重复利用已有的连接)
  1. 简介:容器,存放了一定数量的与数据库服务器的物理连接。
  2. 使用需要:容器里取出一定空闲的连接,而不是常见一条新的连接
  3. 作用:减少了连接数据库开销,提高应用程序的性能
  4. 分类:(同一时刻同一应用程序域可以有多个不同类型的连接池)区分标准:进程、应用程序域、连接字符串、windows标识、共同组成的签名来标识区分。
    对于同一程序域,由连接字符串来区分。打开一条连接。如果这条连接的类型签名与现有的连接不匹配的连接池
  5. 分配方式:根据请求的类型,找到与它相匹配的连接池,尽力的分配一条空闲的连接。若已用完,会创建一个新连接调价连接池中,等待,直到有空闲的连接可用。
连接池的使用

Ado.net默认是启用连接池的

  1. 连接字符串可以控制连接池的行为,三个属性:
    • Max Pool Size:最大连接数 100
    • Min Pool size:最小连接数:0
    • Pooling 是否启用连接池 true
  2. 同一程序域,同一字符串,使用同一连接池,空格也会造成差异
sqlcommand的介绍与使用
  • sqlcommamnd 对SqlServer数据库执行的一个T-SQL语句或存储过程
  • SQLCommand对象: Ado.net中执行数据库命令的对象
    • Connection属性:SQLCommand对象要使用的SqlConnection
    • CommandText:获取或设置要执行的T-Sql语句或存储过程名
    • CommandType:CommandType.Text—执行的一个Sql语句
      CommandType.StoreProcedure— 执行的是一个存储过程
    • Parameters:SqlCommand对象的命令参数集合(默认空集合)
    • Transaction:获取或设置要在其中执行的事物
  • ExcuteNonQuery方法(增,删,更新DML)
    • 返回一个受影响的行数(int)
      连接使用原则,最晚打开,尽快关闭
  • ExcuteScalar 方法 (DQL执行查询或存储过程,返回查询结果中的第一行第一列的值)
  • ExcuteReader(实时读取的方式)
    - 查询返回一个对象,SqlDataReader数据流
    - 及时存储
    - 关闭的时候,如果之前执行的是不带参数的ExcuteReader,关闭dr,并不会关闭连接,反之亦然
  • SqlParameter
    - 定义:表示SQLCommand对象的参数,或与DataSet中的映射
    - 常用属性:
    - DbType 参数的SqlDbtype(数据库的数据类型)
    - Direction 参数的类型:输入,输出,返回值参数
    - ParameterName 参数的名称
    - Size 参数存储数据的最大大小(字节单位)
    - Value 参数的值
    - SqlValue 作为SQl类型的参数的值
    - 构造方法
    - 无参
    - 有参
    - SqlParameter pa = new SqlParameter("@Age",24)
    - 顺序是参数名->l类型->大小->源类名
参数的作用
  • 防止sql注入,以及转义字符问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值