冲…………MCTS 2005 !

计划通过MCTS的四个认证

miller SunID:millercn
7346次访问,排名13598(1)好友0人,关注者4
保密
millercn的文章
原创 18 篇
翻译 0 篇
转载 0 篇
评论 4 篇
最近评论
kockoc4:编程王10TB代码库
http://code.kingofcoders.com

10TB代码Search engine
http://search.kingofcoders.com
millercn:我找的这几本书都是介绍VB.NET,也就是 Visual Basic 2005的。
chuxue1342:你的这几本书介绍的是vb还是vb.net?
yanliwenwen:happy new year
文章分类
收藏
    相册
    基本程序图片
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 《ADO.NET 2.0 技术内幕》笔记(第3章)收藏

    新一篇: backgroundWorker的使用。 | 旧一篇: 华为无线AP(FIT/FAT)EA2220E-AG的配置实例

    第三章 连接数据库

        在ADO.NET中,Connection对象就代表了与数据源之间的连接,Connection对象还用作创建查询和事务的起始点。所有的连接类都派生自System.Data.Command命名空间中的DbConnection类。

    3.1 生成SqlConnection对象
        有两种方式生成SqlConnection对象,第一种是建立一个未初始化的SqlConnection对象,即New SqlConnection ;第二种方式是使用连接字符串作为构造函数的参数,即:New SqlConnection(StrCon)。
    3.2 打开SqlConnection对象
        生成实例后,其被初始化为“关闭”状态。如果是在没有打开的情况下执行SqlCommand语句;打开后,又继续使用Open命令进行打开链接,都会产生InvalidOperationException异常。  
    3.3 关闭SqlConnection对象。使用Close方法。
    3.4 自行清除连接。
        调用SqlConnection的Dispose方法会隐式调用Close方法。一种简单的方法是将SqlConnection放在Using模块中。在Using模块结束的时候就自动调用Dispose方法,结束SqlConnection的链接。
    3.5连接字符串
    1. 连接到本地默认实例:Data Source=.;
    2. 连接到本地已命名的实例 Data Source=.\SQLExpress
    3. 使用集成安全性 Integrated Security=True

    3.5.2 连接字符串生成器简介
        链接字符串好处多多,可以方便记忆关键字,解决不同数据库连接不同关键字的问题,还可以防止数据库注入。
    3.5.3 连接字符串的安全性
        参看:SqlClientPermission类
    3.6 连接池
    1. 连接池是一种在打开数据库存储区的连接时提高应用程序性能的机制。连接池被保存在使用数据库的程序的机器上,如果是B/S架构,被保存在服务器上,如果是C/S架构,就被保存在单机(C)上。
    2. 如果要禁用连接池,那么需要在连接字符串中指定:Pooling=False 。不过有连接池的确会好很多:参看《数据库连接池的作用有多大?》
    3. 强制使用新池,如果你有喜新厌旧的心态,那么在连接字符串的最后加一个空格,就会每次都使用新连接池了。
    4. 手动释放连接池中的缓存,ClearPool 和 ClearAllPool 。ClearPool会清除“自由的”连接。
    5. Connection Reset:会自动清除一些不用的连接,可以在连接字符串中设置为False,但是不建议这样去做。
    6. Min Pool Size:默认是0 。
    7. Max Pool Size:默认是100 。
       
    3.7 将SqlConnection用作起始点
        SqlConnection可以用作--创建命令、开始事务以及提取架构信息的起始点。
    1. 创建命令:cn.zCreateCOmmand()
    2. 开始事务:cn.BeginTransaction()
    3. 获取架构信息:cn.GetSchema(),返回一个DataTable 。
       
        获取架构信息是一个很有帮助的方法,可以得到数据库中的所有表,表格格式和限制条件等很有用的信息。当然,如何才能得到呢?调用GetSchema()方法就可以得到元数据的枚举值。例如,cn.GetSchema("tables"),就返回数据库中所有的表。
        GetSchema还有一个重载版本,可以使用一个字符串作为参数,用作查询架构信息时的筛选器。其中这个字符串的结构由GetSchema("Restrictions")来限制。

        所以书中的字符串分别对应Column的第四列,table_catclog,Table_Schema,table_Name,Columa_name ,要是没有限制,则使用Nothing 。
       
    3.8 Visual Studio 设计时特性
        服务器资源管理器可以当作SQL SERVER的企业管理器使用。
    3.9 SqlConnection对象参考

    属性:
        
    属性
    数据类型
    说明
    ConnectionString
    String
    控制SqlConnection对象如何连接到数据库。当连接数据库以后,这个属性变为只读。
    ConnectionTimeOut
    Int32
    指定SqlConnection在尝试连接到数据源时等待多少秒(只读)。在建立连接字符串时设定。
    DataBase
    String
    返回已经连接或者将要连接的数据库名称,例如NorthWind(只读)。在建立连接字符串时设定。
    DataSource
    String
    返回已连接或将要连接数据库的位置,例如10.10.10.10(只读)。在建立连接字符串时设定。
    FireInfoMessageEventOnUserErrors
    Boolean
    控制发生用户错误时是否激发InfoMessage事件,默认情况下,这一属性被设置为false.可以在关闭和开放式的SqlConnection上修改此属性。
    PacketSize
    Int32
    返回与SQL Server进行通信时所使用的数据包大小(只读)。
    ServerVersion
    String
    返回数据源的版本(只读)
    State
    String
    返回是Open 或者 Close
    StatisticsEnable
    Boolean
    控制是否为该连接启用统计。默认情况下,此属性被设置为False,可以对关闭和开放式的SqlConnection修改此属性。
    WorkStationId
    String
    返回数据库终端的名称,默认是机器名(只读)。

        FireInfoMessageEventOnUserError :假设查询一个不存在的表,会出现一个异常错误,但是如果将其值设为True,则会产生一个InfoMessage的事件。
        ServerVersion:Sql 2000的版本是8.0 ,Sql 2005的版本是9.0 。如果连接关闭,则会返回InvalidOperationException 。
        
     方法:
    方法
    说明
    BeginTransaction
    开始一个事务
    ChangeDataBase
    修改一个开放式连接的当前数据库
    ClearAllPools
    清除连接池中的所有自由连接(静态)。
    ClearPool
    清除与所提供SqlConnection相关的连接池中的自由连接(静态)。
    Close
    关闭连接
    CreateCommand
    建立一个SqlCommand对象
    EnlistDistrbutedTransaction
    在一个COM+分布式事务手动登记该连接
    EnlistTranSaction
    在一个System.transaction事务手动登记该连接
    GetSchema
    返回该链接的架构信息
    Open
    打开一个连接
    ResetStatistics
    重置当前连接的统计信息
    RetrieveStatistics
    返回当前连接的统计信息

    事件   
    事件
    说明
    InfoMessage
    当连接从数据库接收信息时发生
    StateChange
    当连接的State属性发生变化时


      
     

    发表于 @ 2008年03月29日 17:03:00|评论(loading...)|编辑

    新一篇: backgroundWorker的使用。 | 旧一篇: 华为无线AP(FIT/FAT)EA2220E-AG的配置实例

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © Miller