关于支持多种数据库的设计问题,请高手指教!

gannet 2003-08-26 10:14:55
我想在数据库访问层提供对多种数据库的支持,我现在运用了工厂方法模式,对不同数据库建立不同的IDbConnection,IDbCommand实例,并提供ExecSql(string sSql,object[] Parameters)方法,但是由于.net没有提供IDbParameter接口,对于Parameters,不知道如何在执行sql语句或者存储过程时传入相应的正确的参数?请高手提供一点思路,不胜感激,全分附送!
...全文
106 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gannet 2003-08-26
  • 打赏
  • 举报
回复
没想到这么多大侠关注,看来只好将分均分给各位了,timmy3310(Tim) 的提示正是我想要的,我再试试, asam2183(三山) 的说法和我现在写的不谋而合,多谢各位!
asam2183 2003-08-26
  • 打赏
  • 举报
回复
如果这样,可以写几个类来作相应数据的处理,例如:
OleDBOperator.cs
SqlDBOperator.cs
然后根据Connection调用相应的类

至于你说的:ExecSql(string sSql,object[] Parameters)
就可以改成:ExecSql(string sSql,string[] Parameters)
gannet 2003-08-26
  • 打赏
  • 举报
回复
panyee(快乐王子) :我刚才找到另外一篇文档,正好和我的思路一致,就是在ExecSql加上object[] values参数,就可以在各个类中再实例化parameters了.100分送给你了,帮我看看另外一个问题了:http://expert.csdn.net/Expert/topic/2179/2179563.xml?temp=.3703577
;谢谢关注!
timmy3310 2003-08-26
  • 打赏
  • 举报
回复
IDbDataParameter

用这个接口

另外,参数的类型使用System.DbType枚举,按照.Net类库设计建议,IDbDataParameter实现者会把DbType枚举转换为对应的数据库类型
timmy3310 2003-08-26
  • 打赏
  • 举报
回复
IDbDataParameter

用这个接口
panyee 2003-08-26
  • 打赏
  • 举报
回复
你不是有IDbConnection吗?

那你在ExecSql时不就可以知道是哪种数据库连接, 实例化parameter时判断一下就行了

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧