c#OleDbConnection 类和DbConnection有什么不同?是不是因数据库不同来分别用?
展开全部
DbConnection是所有数据库连接类的基类。也就是OleDbConnection是从DbConnection派生出来的,已经封装好了使用Ole DB驱动来访问数据库,类似的还有SqlConnection ,OdbcConnection等。
如果直接使用DbConnection,那么需要提供驱动。DbProviderFactory 就是干这个用的。DbProviderFactory是一个工厂类,工厂类的作用提供其他一系列相互之间有关系的类。在这里,DbProviderFactory就自动生成了包括DbConnection、DbCommand、 DbDataAdapter等一系列数据库操作的相关类。而OleDbConnection实际上就是直接使用DbProviderFactory 制定了OleDb驱动生成的。
这种方法的好处就是你可以随时更换驱动。譬如你有一个程序,支持MSSQL数据库,也支持ORACLE数据库,还可以从EXCEL表格中导入数据。如果你用SqlConnection 那么你就不得不再用OracleConnection写一段代码用来支持ORACLE数据库,还得再来一个OleDbConnection支持EXCEL,如果明天你还想要来一个ODBC的支持,然后又得用ODBCConnection再写一遍。但是直接用DbConnection,就可以通过指定DbProviderFactory来动态更换驱动.
如果直接使用DbConnection,那么需要提供驱动。DbProviderFactory 就是干这个用的。DbProviderFactory是一个工厂类,工厂类的作用提供其他一系列相互之间有关系的类。在这里,DbProviderFactory就自动生成了包括DbConnection、DbCommand、 DbDataAdapter等一系列数据库操作的相关类。而OleDbConnection实际上就是直接使用DbProviderFactory 制定了OleDb驱动生成的。
这种方法的好处就是你可以随时更换驱动。譬如你有一个程序,支持MSSQL数据库,也支持ORACLE数据库,还可以从EXCEL表格中导入数据。如果你用SqlConnection 那么你就不得不再用OracleConnection写一段代码用来支持ORACLE数据库,还得再来一个OleDbConnection支持EXCEL,如果明天你还想要来一个ODBC的支持,然后又得用ODBCConnection再写一遍。但是直接用DbConnection,就可以通过指定DbProviderFactory来动态更换驱动.
2012-03-06
展开全部
嗯,连接不同的数据库的连接符
追问
DbProviderFactory xxx= DbProviderFactories.GetFactory(xxxProviderName);
对于DbConnection连接中的这个DbProviderFactory 不是很理解帮吗解答一下吧谢谢了
追答
你做的是个项目,工程中要求使用多种数据库的支持!
所以就有了 数据工厂,他是满足你使用多种数据库的兼容的功能!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询