在向大家详细介绍ADO.NET类文件之前,首先让大家了解下ADO.NET类文件,ADO.NET类文件还是比较常用的,于是我研究了一下ADO.NET类文件,在这里拿出来和大家分享一下,希望对大家有用。。
使用连接
高性能的应用程序保持使用最少次数的数据源的连接,也利用了类似连接池的性能增强技术。下面的技巧帮你使用ADO.NET类文件时获得更好的性能。 连接池 SQL Server、OLE DB和.NET框架组件数据提供程序隐性为ODBC提供了连接池。你可以在连接字符串中指定不同的属性控制连接池的行为。
用DataAdapter优化连接
数据适配器的Fill和Update方法自动地为相关的命令属性打开特定的连接(如果它被关闭的话)。如果ADO.NET类文件或Update方法打开了连接,Fill或Update将在操作完成时关闭它。为了提高性能,只在必要时保持数据库连接打开,同时为多个操作减少打开和关闭连接的次数。 #t#
我们推荐如果你只执行单个的Fill或Update方法调用,你应该允许Fill或Update隐式打开和关闭连接。如果大量调用Fill或者Update,我们推荐显式打开,进行Fill或Update调用,然后显式关闭连接。
此外执行事务时,ADO.NET类文件在开始事务前明确地打开连接,在完成事务后明确地关闭连接。例如:
- PublicSubRunSqlTransaction(daAsSqlDataAdapter,
- myConnectionAsSqlConnection,dsAsDataSet)
- myConnection.Open()
- DimmyTransAsSqlTransaction=myConnection.BeginTransaction()
- myCommand.Transaction=myTrans
- Try
- da.Update(ds)
- myTrans.Commit()
- Console.WriteLine("Updatesuccessful.")
- CatcheAsException
- Try
- myTrans.Rollback()
- CatchexAsSqlException
- IfNotmyTrans.ConnectionIsNothingThen
- Console.WriteLine("Anexceptionoftype"
- &ex.GetType().ToString()&_
- "wasencounteredwhileattemptingtorollbackthetransaction.")
- EndIf
- EndTry
- Console.WriteLine("Anexceptionoftype
- "&e.GetType().ToString()&"wasencountered.")
- Console.WriteLine("Updatefailed.")
- EndTry
- myConnection.Close()
- EndSub