c#OleDbConnection 类和DbConnection有什么不同?是不是因数据库不同来分别用?

 我来答
聊无无
2012-03-06 · TA获得超过1206个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:218万
展开全部
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来动态更换驱动.
匿名用户
2012-03-06
展开全部
嗯,连接不同的数据库的连接符
追问
DbProviderFactory xxx= DbProviderFactories.GetFactory(xxxProviderName);
对于DbConnection连接中的这个DbProviderFactory 不是很理解帮吗解答一下吧谢谢了
追答
你做的是个项目,工程中要求使用多种数据库的支持!
所以就有了 数据工厂,他是满足你使用多种数据库的兼容的功能!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式