问个关于参数问题(结构问题)
时间:2011-12-15
来源:互联网
public static basehelper dbfactory 反射当前配置的dbhelper
basehelper 基类
sqlhelper : basehelper
oledbhelper : basehelper
oraclehelper : basehelper
遇到一个问题是:
在basehelper基类里有:
C# code
public abstract DbParameter MakeParam(string paramName, Enum dataType, int size, ParameterDirection dir, object value);
然后在各个子类里面实现.
但是dataType参数不灵活怎么办? 因为OleDbType, SqlDbType这些枚举内的值对应的参类型都不一样, 所以实现的时候不能强转.
我希望的结果是不在开发环境里面传死的OleDbType.VarWChar之类. 那样以后要更改会很麻烦.
有没有什么好的点子?
谢谢大家.
作者: rotApple 发布时间: 2011-12-15
正好用来对应,不一致类型,但业务一致的情况
作者: jiuhexuan 发布时间: 2011-12-15
比如,在开发的时候使用:
DbParameter p = theHelper.MakeParam("uname", OleDbType.VarWChar, 16, ParameterDirection.Input);
这只能对应当前数据库是access的时候.
如果在配置文件改成sql, 那这里就要改成SqlDbType.NVarChar.
我不希望为了这个参数又把代码重编译一次, 那这样的话我要配置文件还有什么用. 还多写了那么多代码.
作者: rotApple 发布时间: 2011-12-15
该回复于2011-12-16 11:26:30被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#4楼 得分:0回复于:2011-12-16 11:49:22
|
作者: rotApple 发布时间: 2011-12-16
作者: chromeV8 发布时间: 2011-12-16
比如在OleDbHelper里面实现MakeParam:
需要new OleDbParameter(....这里有个参数是要用OleDbType的,不能用DbType
作者: a346729576 发布时间: 2011-12-16
你再基类里加这些死的东西,明显是设计问题
我的理解是这个参数不能出现在基类里,它属于派生类私有成员
作者: rotApple 发布时间: 2011-12-16
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28