设为首页 收藏本站
查看: 1234|回复: 0

[经验分享] ADO.NET 访问 Sql Server2008(一)

[复制链接]

尚未签到

发表于 2016-11-12 06:17:17 | 显示全部楼层 |阅读模式
  ADO.NET 是微软的 .NET FrameWork中所包含的一组类 ,可以提供应用程序与数据库进行 通信 。
  在以前的 数据库访问技术中,对于数据库的操作必须是在有连接的环境中,应用程序需要和数据源保持持续的链接 ,伸缩性和可扩展性比较差,占用资源也是比较多的 、
  但是在ADO.NET中解决了这个问题 ,保证我们在 无连接的环境下也可以进行数据库的操作 。
  原理是这样:用户可以将数据源的子集下载到本地中,然后对本地的数据子集进行 操作,操作完之后 在连接到 网络 .并且更新子集到数据库 ,这样就完成了 所谓的无连接数据库访问 。
  ADO.NET 的2个核心的组件是 DataSet 和 .NET 数据提供程序 , .
  DataSet 稍后介绍
  .NET 数据提供程序不尽相同 有 SQL Server.NET数据提供程序 ODBC .NET 数据提供程序 OLE DB .NET 数据提供程序Oracle.NET数据提供程序等等 、、
  ADO.NET 访问数据流流程
  
   1、与数据库的链接通过 SqlConnection类在进行数据库的操作的时候 ,我们必须建立起和数据库的链接


Public NotInheritable Class SqlConnection _
Inherits DbConnection _  
Implements ICloneable
  SqlConnection类的实例表示了一个应用程序 和数据库只见的链接 ,很多语言访问数据库第一步都是这样 ,比如JDBC访问数据库中 获取一个 Connection对象一个样 .

  Dim str as new String="Data Source=.\SQLEXPRESS;Initial Catalog=MyDB;Persist Security Info=True;User ID=sa;Password=1243"

  Dim cn as new SqlConnection
  cn.ConnectionString=str //对 连接字符串进行赋值 我们也可以在构造 SqlConnection的时候进行初始化

  cn.open() //打开一个数据库 在建立了和数据库的连接之后 那么我们就要可以打开一个数据库
  2. 通过 SqlCommand对象来执行 SQL语句
  这个类有三个 执行SQL语句的方法 每个方法含义不同
   ExecuteReader 返回结果是一个 行的集合 ,返回SqlDataReader对象 我们可以对这个结果集进行数据的检索操作 下面的例子就是这个方法的实现

   ExecuteScalar 执行返回但一结果的命令 比如说我们条件查询 seletecount(* ) from usertablewhere id=111 那么返回的结果是一个值 我们使用这个

   ExecuteNonQuery 执行 Update Insert Delete 改变数据库 但是 无记录集返回的 SQL命令 返回的是受影响的行数

  接着上面的代码 下来:
  dim s as new SqlCommand() //构造SqlCommand对象
  s.Connection= cn //对Connection属性赋值
  s.sqlString="select * from table" //sql 语句
  SqlDataReader r=s.ExecuteReader() //执行sql语句
  3.对返回的 SqlDataReader对象进行 检索 获得 结果记录集 、、

   SqlDataReader类中包含着对结果记录集进行操作的方法
   GetXXX(int Column)//根据列索引返回值索引是基于 0开始的 这与 JDBC中访问数据库时候的 1开始不一样
   GetXX(ByVal ColumnName as String)//根据列的名字返回值
   GetValues() 返回所有列的值结果是一个对象数组

  
  接着上面的代码来
  while(r.read()) //r.read()将数据指针向前移动一行 如果存在记录 那么 返回True 否则 返回 false

  {
  r.GetString(0) ;//获得第一行的数据
  r.GetString(1) ;//获得第二行的数据
  }
  4、在 执行SQL语句的时候 顺便带上 参数 在 一般情况下 我们用不到 ,具体用法如下
  //m为SqlCommand对象
  Dim sql As New SqlParameter

sql.DbType = DbType.Int32

sql.ParameterName = "@id"

sql.Value = 100

Dim sql2 As New SqlParameter

sql.DbType = DbType.Int32

sql.ParameterName = "@id1"

sql.Value = 100

m.Parameters.Add(sql)

m.Parameters.Add(sql2)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-299012-1-1.html 上篇帖子: 如何写出高性能SQL语句 下篇帖子: SQL SERVERC存储过程中捕获异常
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表