多种数据库的情况
来源:互联网 发布:2016中国养老现状数据 编辑:程序博客网 时间:2024/05/18 03:26
1、 DAL并不是放在一个DLL里面,而是分别放在各个的DLL里面,需要哪个数据库就使用哪个DLL文件。
2、 DAL里面的命名空间、类名、参数类型都是一样的,至少主要功能都是一样的。
3、 分页控件还没有考虑好,现在只是针对MSSQL来做的,其它的数据库还没太考虑。
4、 如果情况特殊分页控件也还是可以“分别”对待的,就是若干个数据库对应一个分页控件。另外一个数据库对应另一个分页控件。
=========================
>>如果有M个业务需要有分页功能,有N种数据库需要支持,那么,你就得写M×N份代码
这个是错误的。
先说一下我的情况:
webform ,一个数据库(MSSQL)。多少个业务需要分页这个没有必要考虑。
网站写了不少了,后台管理也写了不少了,但是不管有多少个页面需要分页,都是一样的。
还是我上面写的那个
======
Page1.SqlTableNames = "SD_Product"; //表名
Page1.SqlColumns= "clo1,clo2,..."; //显示的字段
Page1.SqlPageSize = 8; //一页的记录数
Page1.SqlOrderColumn = "ProductID"; //排序字段
Page1.SqlOrderColumnKind = "int"; //排序字段类型
Page1.IsOrderDesc = true; //升序or降序
Page1.SQLQuery = "" ; //查询条件
======
在分页控件里面可以这样组合SQL语句,
"select top " + SqlPageSize + " " + SqlColumns " from + SqlTableNames + " where " + SQLQuery + " order by " + SqlOrderColumn + IsOrderDesc
注意:
1、这只是一个实例,实际上要判断是不是有查询条件,没有的话就不需要 加 where 了。
2、上面的是第一页的SQL语句,其他的根据你的算法来组合。
3、这里就是图上面的组成SQL语句的地方,很显然一种数据库只需要一个。
这样的方法你一万个业务也是一样的,只是一种情况,不会出现你所说的 M * 1 的情况。就是 1 个。
------------------
下面再来看看多个数据库的情况。
应该不用多说了吧,你所说得 M×N 其实就是 N 。你的数据库类型在多也不会超过20个吧。
PS:
对了分页是不需要存储过程的,只是在分页控件里面根据属性(外加分页算法)来组合SQL语句。
=======================
其实全部的组合式这样的
分页算法 * 2 * 数据库类型
一般情况 : 2 * 2 * N = s
如果n<20 的话,那么 s < 80。
分页算法 为什么会取2 呢?一个是第一页的算法,另一个是任意页的算法。当然也可以再加一个最后一页的算法。
分页算法后面的 “2” 是甚么意思呢?
分页算法可以不止一个,针对不同的情况可以使用不同的算法,简单的情况就使用高效一点的算法,复杂的情况就要适当放弃一下效率了。
最简化的情况 1 * 1 * N = N 。 有几种数据库就只有几个 “组合SQL语句”的地方。
最复杂的情况 3 * 3 * N = s = 9N。
- 多种数据库的情况
- 多种数据库的情况
- APP的Rejected多种情况
- TCP/IP的多种连接情况
- 影响百度收录的多种情况
- opencv打开多种情况下的图像
- flask处理json的多种情况
- set Autotrace 的多种应用情况
- 转义字符的多种情况理解
- 多种情况下多态的对象模型
- js中遍历数据的多种情况
- 多种数据库的连接字符串
- 多种数据库的处理方式
- qt多线程,多种情况
- 浏览器显示网页的原理 多种情况方式
- handler处理多种情况下的信息处理 handler类讲解
- Android listview 包含你多种item布局的情况
- C++构造(创建)对象的多种情况
- 面向对象相关
- Step By Step 一步一步写网站[1] —— 帧间压缩,表单控件
- Step By Step 一步一步写网站[1] —— 填加数据(二)
- Step By Step 一步一步写网站[1] —— 填加数据
- ASP.net实现无扩展名的URL重写。简单、方便、无需ISAPI。
- 多种数据库的情况
- 我的网站的结构说明
- 我的网站的后台管理的结构图。
- [转载]大项目中项目经理的作用
- 求助求助——请教各位高手,抽出一点宝贵的时间根据这个实例讲解一下应该如何分层呢?
- 三层架构之我见 —— 不同于您见过的三层架构。
- 音频格式重采样。
- ----------------中秋怀思-----------------
- return 与 finally的执行顺序