欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【如何提高MSSQL和ACCESS的兼容性】,下面是详细的分享!
如何提高MSSQL和ACCESS的兼容性
大家都知道ASP当中,最常用到的是ACCESS和MSSQL两个数据库。很多程序都想开发成两个数据库都可以使用的模式,但是碍于两个数据库得一些SQL语句不一致,所以导致很多程序都分两个没有必要的版本,就是ACCESS和MSSQL版!而事实上,我们可以通过对代码判断和识别,控制整个程序的兼容性。也就是说,将两个版本兼容成一个系统。例如我的ASP飞云小说系统,就是两种数据库都可以运作的程序。
那么,到底如何让程序存在数据库兼容性并且得到高效的运作呢。下边我将以我的飞云小说系统做范例,说说我的一些控制方法和代码。
首先,我们要控制一个参数,让程序知道我们现在运作的是什么数据库。
如:飞云小说程序中的Config.asp文件参数
| 以下为引用的内容: Const SystemDatabaseType="ACCESS" '系统数据库类型,"SQL"为MSSQL 2000/2005数据库,"ACCESS"为MS ACCESS 2000数据库 |
这是兼容性开始的基础,是整个程序数据库的判别。所以是非常有必要设置这么一个参数的。
第二,数据库连接方式和常用函数的区分
在我的程序当中,Conn.asp里边还存在下边的一段代码:
|
代码: If SystemDatabaseType="SQL" Then |
这个代码,除了区别数据库连接方式之后,还将MSSQL和ACCESS常用的语句进行变量赋值。这样做的好处就是后面使用相关内容的时候可以直接使用调用变量的方法,而不再需要进行数据库类型的判断。
例如对比时间的datediff函数问题上:
| 代码: "Select * From [表] where datediff('"&FY_DatePart_D&",数据库时间,'变量名)=0 Order By id Desc" |
这样就免去了数据库的判别,减少了代码量和实用性。
第三,正确使用兼容性代码,而不使用特色代码。
很多人在写MSSQL数据库的是很,都很喜欢使用conn.execute语句,而不使用open方式。虽然在速度上,很多时间conn.execute会比open方式要高速度一点。但是这不是一概而论的。
比如说,在一个判断是否已经存在的过程算法当中。如果你已经使用了open进行了BOF或EOF的判断,那么你还要使用conn.execute进行判断的话,那速度,肯定是不如在OPEN直接修改的好。
而且,在代码当中open方式的兼容性,远远要高过conn.execute。例如时间函数now()的使用上.(这个函数在ACCESS和MSSQL的区别,大家自己去百度)
第四,在追求兼容性的情况下,牺牲一点效率也是必要的。
第三点当中,如果你的过程不需要判断是否存在,就是在没有打开OPEN的情况下的话。你可以使用conn.execute。但是我的不是一概而论的。比如说,如果是一个比较少用到,不是频繁读取的过程。我会选择使用OPEN方式,而不使用conn.execute方式。
虽然这过程的速度会降低。可是这不影响到我的使用,所以我还是选择OPEN方式。原因很简单,就是兼容性的选择。
最后,在必要的时候放弃兼容性的追求,采用不同数据库不同代码。
前面第一点,我们对代码已经做了一个设置,就是数据库类型的设置。那么当我们遇到一些不能通过兼容性解决,或者是像conn.execute和OPEN方式上的追求的时候。我们可以利用前面SystemDatabaseType的参数设置进行判断,然后相应使用不同的代码。
|
如: Else End If |
这样就可以保证程序的高效性以及稳定性。这也是整个程序的兼容性的一种。
后编:
还是和上次的教程《如何购买适合自己的商业程序版本》上PS课的时候写教程,嘎嘎!因为时间比较短,可能有一些问题没有涉及到,或者过程有什么错误的地方,希望大家评论指正。如果有兴趣的朋友,可以到中国站长站(Chinaz.com)或到我的网站www.kenqiao.net 下载我的免费版小说程序,研究一下!
以上所分享的是关于如何提高MSSQL和ACCESS的兼容性,下面是编辑为你推荐的有价值的用户互动:
相关问题:64位CPU和32位操作系统的兼容性怎样?
答:1.64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2.64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。 64位处理器之失 ※硬件———缺乏驱动程序,很... >>详细
相关问题:mssql与access有什么区别??
答:mssql 是MS SQL Server 现在最新版本 SQL Server 2008 R2,微软的大型数据库。功能和性能异常强大。access,微软Office系列产品之一,极小型数据库。功能和性能当然也是相当一般。性能甚至可以说是相当低。曾经做过实验。Access插入300条数据需... >>详细
相关问题:关于网站建设的问题
答:数据库有ACCESS\MSSQL\MYSQL等等,根据需要选择合适的...浏览器支持较好,HTM5是新技术但兼容性相对较差,但...视频会增加网站的感染力,客户可以根据需要选择喜欢的... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
