福彩内蒙古时时彩开奖结果 内蒙古时时彩单式上传 内蒙古时时彩结果查询 内蒙古时时彩软件 内蒙古时时彩500走势图 内蒙古时时彩五码走势怎么看 内蒙古时时彩直播开奖 内蒙古时时彩计划软件 内蒙古时时彩五星图 内蒙古时时彩预测最准 内蒙古时时彩三星玩法 彩票内蒙古时时彩 内蒙古时时彩怎么兑奖 内蒙古时时彩软件手机版 内蒙古时时彩现场直播开奖记录 内蒙古时时彩彩票控 内蒙古时时彩快三开奖 内蒙古时时彩计划软件 彩票内蒙古时时彩 内蒙古时时彩最快开奖 福彩内蒙古时时彩 内蒙古时时彩走势图彩经 内蒙古时时彩历史开奖号码查询 内蒙古时时彩5个号走势 内蒙古时时彩wifi 内蒙古时时彩单式 内蒙古时时彩开奖现场报码 内蒙古时时彩五星走势图 内蒙古时时彩最新开奖结果查询 内蒙古时时彩奖金 内蒙古时时彩计划软件手机版 360彩票内蒙古时时彩 内蒙古时时彩软件手机版 内蒙古时时彩11选5开奖结果 内蒙古时时彩最新开奖号码 内蒙古时时彩走势图彩 内蒙古时时彩11走势图 内蒙古时时彩玩法说明 内蒙古时时彩现场直播 内蒙古时时彩官网平台 内蒙古时时彩玩法规则 内蒙古时时彩平台网址 内蒙古时时彩中奖规则 内蒙古时时彩走势图彩经 内蒙古时时彩奖金对 内蒙古时时彩形态走 内蒙古时时彩奖金 内蒙古时时彩历史开奖记录查询 内蒙古时时彩稳赚 今日内蒙古时时彩

IT职业教育

华中地区北大青鸟校区IT集训营

027-87807717

北大青鸟首页 > 热门IT技术教程 > .Net技术教程 > > .NET技术教程之ADO.NET学习技巧集锦

.NET技术教程之ADO.NET学习技巧集锦

时间:2012-07-05 09:57 来源:北大青鸟武汉宏鹏鲁广校区作者:027hpedu
导读:.NET技术教程之ADO.NET学习技巧集锦旨在帮助大家更好地掌握NET技术。北大青鸟武汉宏鹏鲁广校区从ADO.NET学习的原因、方法和要注意的知识点进行详细解释。

  .NET技术教程之ADO.NET学习技巧集锦旨在帮助大家更好地掌握NET技术。北大青鸟武汉宏鹏鲁广校区从ADO.NET学习的原因、方法和要注意的知识点进行详细解释。

  为什么要学ADO.NET

  方便使用C#代码语句对数据库表做相应的操作. 有时候,要对数据库表里的数据进行批量处理,而一些SQL语句和存储过程等编写什么繁琐,可以用ADO进行批量操作.

  什么是ADO.NET

  ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO的类操作文本一样,System.Data,这组类是用来操作数据库(不光是MSSql Server),它提供了统一的编程接口让操作其他数据库(Access,Oracle)等的方式和操作MSSql Server 一致.

  ADO.NET组成

  ●数据提供程序

  ●Connection-----连接

  ●Command------命令 sql语句交给它执行

  ●DataReader 只读只进的结果集-----sql语句执行完返回的数据存放在这里

  ●DataAdapter-----数据适配器

  ●数据集(DataSet)----内存里的数据库

  ●断开时链接的数据库操作

  ADO.NET五大类图解过程

  

 

  

 

  个对象Connection

  ●读取数据库数据之前先要创建一条路

  ●读取Sql Server数据库使用

  ●创建Sqlconnection对象    (不同的数据库操作不同的Connection)

  ●获取连接字符串

  ●VS视图-服务器资源管理器-数据库连接上点右键-添加连接 在新添的数据库上点右键 属性 里有连接字符串

  using System.Data.SqlClient;

  连接SQLServer数据库

  连接字符串:程序通过连接字符串 指定要连哪台服务器上的、哪个实例的哪个数据库、用什?#20174;?#25143;名密码等。

  ADO.Net中通过SqlConnection类创建到SQLServer的连接,SqlConnection代表一个数据库连接,ADO.Net中的连接等资源都实现了IDisposable接口,可以使用using进行资源管理。

  第二个对象Commend

  操作Sql Server 数据库使用SqlCommand对象

  SqlCommand表示向服务器提交一个命令(sql语句等),CommandText属性为要执行的Sql语句,ExecuteNonQuery方法执行一个非查询语句,(Update,Insert,Delete等)

  ● 常用的三个方法

  ExecuteNonQuery() 执行对数据库的增删改,返回受影响的行数

  ExecuteScalar()执行查询,返回行列

  ExecuteReader() 执行查询,返回DataReader对象

  异常处理

  在执行数据库操作时,如果数据库服务器?#21019;?#24320;,或者sql语句写错了会怎么样?

  可以使用 try....catch....finally 来捕获异常

  使用异常处理可以保证一个功能出错不影响另一个功能,?#28909;?#28155;加操作失败,不影响查询的操作...

  ExecuteScalar

  SqlCommand的ExecuteScalar方法用于执行查询,并返回查询所返回的结果集?#34892;?#30340;?#26657;?#22240;为不能确定返回值的类型,使用返回值的object 类型.

  得到自动增长字段的主键值,在values关键词前面加上output inserted.id,其中id为逐渐子段名,执行结果就是插入的主键值,用ExecuteScalar执行方便.

  ExecuteReader

  执行有多行结果集的用ExecuteReader

  DataReader 只读只进的结果集

  HasRow属性返回是否?#34892;?/p>

  ExecuteReader 返回 SqlDataReader

  reader的getstring,getInt32等方法只接受整数?#38382;?#20063;就是序号,用GetOrdinal方法根据列明动态得到序号.

  更简单的方法reader["UserName"]

  为什?#20174;胾sing,Close: 关闭以后还能打开。Dispose:直接销毁,不能再?#38382;?#29992;。using在出了作用域以后调用Dispose,SqlConnection,SqlDataReader等的Dispose内部都会做这样的判断,判断有没有close,如果没有Close就先Close再Dispose.

  SQL注入漏洞攻击

  登录判断: select * from T_users where Username=.....and Password=....,将?#38382;?#25340;到SQL语句中.

  构造恶意的Password : 'or'1' ='1

  防范注入漏洞攻击的方法:不使用SQL语句拼接,通过?#38382;?#36171;值.

  DataSet

  每次读取数据都创建连接,执行command得到SqlDataReader太麻?#24120;?#35753;我们封装一个方法吧!

  sqlDataReader是连接相关的,sqlDataReader中的查询结果并不是放到程序中的,而是放在数据库服务器?#26657;琒qlDataReader只是相当于放到一个指针(游标),只能读取当前游标指向的?#26657;?#19968;旦连接断开就不能再读取,这样做的好处就是无论查询结果有多少条,对程序占用的内存?#25216;?#20046;没有影响.

  SqlDataReader对小数据量的数据来说带来的只有麻?#24120;?#20248;点可以忽略不计,ADO.Net中提供了数据集的机制,将查询结果填充到本地内存?#26657;?#36825;样连接断开,服务器断开都不影响数据的读取.

  DataSet dataset =new DataSet(); SqlDataAdapter adapter =new SqlDataAdapter(cmd); adapter.Fill(dataset);

  SqlDataAdapter是Dataset和数据库之间沟通的桥梁,数据集DataSet包含若干表DataTable,DataTable包含若干行DataRow.

  .NET技术教程之ADO.NET学习技巧集锦让更多的人对.NET学习有了更多的认识。

告诉我们,你现在想了解什么?

精?#39318;?#39064;——96%的同学看到这里都会点击下面的专题

  • 关于我们
  • 鲁广校区北大青鸟宏鹏IT学院

    • 北大青鸟(武汉宏鹏)鲁广北校区地址:武汉市洪山区珞喻路724号(二号线光谷广场站E口出)三楼
      电话:027-87807717
      网址:www.027hpit.com

    • 北大青鸟宏鹏IT学院:武汉市洪山区鲁磨路568号
      电话:027-87808818
      网址:www.accp027.com

    • 北大青鸟(武汉宏鹏)鲁广南校区:武汉市洪山区珞喻路724号(二号线光谷广场站E口出)五楼
      电话:027-87807736
      网址:www.whhpit.com

Copyright (c) 2006-2020 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.

内蒙古时时彩开奖现场