关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »SQL Server与Access数据库ASP代码的比较详解

    SQL Server与Access数据库ASP代码的比较详解

    2011-08-25 16:50:00 出处:ITJS
    分享

    在用ASP开发网站时,后台数据库的选择常常有两种,一种是SQL Server,另一种就是Access,那么这两种数据库在ASP开发网站的过程中有什么不同的地方吗?本文我们就来介绍这一部分内容,希望能够对您有所帮助。

    后台数据库:[Microsoft Access]与[Microsoft Sql Server]更换之后,ASP代码应注意要修改的一些地方:

    一、连接问题(举例)

    [Microsoft Access]  constr = "DBQ=c:dataclwz.mdb; DRIVER={Microsoft Access Driver (*.mdb)}" [Microsoft Sql Server]  constr = "DRIVER={SQL Server};SERVER=host;DATABASE=mydata;uid=sa;pwd=" 

    二、相似函数(举例)

    [1]DATEDIFF(datepart, startdate, enddate),其中“datepart”参数可选项如下:

    设置 描述   ————————————  [Microsoft Access]  年 yyyy  季度 q  月 m  一年的日数 y  日 d  一周的日数 w  周 ww  小时 h  分钟 n  秒 s  [Microsoft Sql Server]  year yy, yyyy  quarter qq, q  month mm, m  dayofyear dy, y  day dd, d  week wk, ww  hour hh  minute mi, n  second ss, s  millisecond ms 

    基本上差不多,但注意的是在写的时候,[Microsoft Access]要加引号,如:datediff('d',enddate,'2004/08/01'),[Microsoft Sql Server]则不需要,如:datediff(d,enddate,'2004/08/01')

    [2][Microsoft Access]中可用如cstr等转数据类型函数,而[Microsoft Sql Server]中则用convert或cast函数,如:convert(varchar,[amount])等。

    [3][Microsoft Sql Server]取当前时间用getdate等等...

    三、语句

    [Microsoft Sql Server]可以用

    CASE  WHEN THEN  WHEN THEN  ...  ELSE  END  

    语句,而[Microsoft Access]不支持。[Microsoft Access]也不支持between语句,[Microsoft Sql Server]则可以这样写:[date] between @date1 and @date2。

    四、查询表

    [Microsoft Sql Server]可三个及以上表join查询,而[Microsoft Access]好像只能两个表联接查询(待权威确认),而且[Microsoft Sql Server]可用“*=”和“=*”连接符。

    五、除零问题

    [Microsoft Access]在碰到除数为零时,自动丢掉相关记录,而[Microsoft Sql Server]则会报错,且查询中止。删除代码:[Microsoft Access]可以这样写:delete * from [table],[Microsoft SQL Server]只能这样写:delete from [table]多*会报错。

    当前日期:[Microsoft Access]用date(),[Microsoft SQL Server],用getdate()假如数据库可能会更换类型的话,可以在ASP代码中加上如这样:

    if inStr(constr,"Microsoft Access") > 0 then   sqlstr=[Microsoft Access][sql代码]  else  sqlstr=[Microsoft Sql Server][sql代码]  end if 

    这样即使改了数据库,也不用改数据库查询更新代码了。再加:access中有true、false的字段记录,而sql里只有smallint,对应假如在access里有“字段名=true”的,在sql里要改成“字段名=1” ,网上大部分的免费asp程序使用的是access数据库。但是access数据库作为一个中小型的单机数据库系统,在承担访问量、数据量大的网站应用时,往往就不堪重负了。

    一般认为,超过50M的access数据库性能就开始明显下降,超过100M以后,出错、运行慢的问题会更加突出。尽管可以如动网7.0以后那样,从程序的角度尽量优化以图提高性能,但是不能从根本上解决问题。这时也许使用微软的SQL Server数据库就是最可能的办法,当然也可以使用其它的如Oracle、MySQL等等,但是作为改写来说,由于同为微软的产品,改写成SQL Server应该是最省力的办法。

    关于SQL Server与Access数据库ASP代码的比较的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。