asp中Access与Sql Server数据库区别总结

时间:2007-11-18 15:08:00 

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

[一]连接问题(举例)

[Microsoft Access]


constr = "DBQ=c:\data\clwz.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 


(constr--连接字符串)

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

标签:Access,Sql,Server,数据库,升级
0
投稿

猜你喜欢

  • 显示/隐藏引出的CSS Bug

    2010-10-20 20:13:00
  • 如何防范利用刷新来“作弊”的计数器?

    2009-11-22 17:18:00
  • 显示ASP页面源码的代码

    2008-10-12 13:05:00
  • 什么是UE,UED?

    2008-07-24 13:26:00
  • js随机永不重复数

    2011-04-25 19:26:00
  • 让SQL Server数据库自动执行管理任务(二)

    2009-03-20 11:40:00
  • css网页下拉菜单制作方法(4):定位问题

    2007-02-03 11:39:00
  • 网页设计三剑客

    2010-08-31 17:05:00
  • WEB3.0时代的开放与聚合

    2008-08-21 17:19:00
  • 什么是gzip,人肉gzip?

    2008-11-20 13:01:00
  • SQL Server中删除重复数据的几个方法

    2009-10-30 10:50:00
  • sql server中批量插入与更新两种解决方案分享(存储过程)

    2012-05-22 18:29:59
  • Javascript调用XML制作连动下拉框

    2007-09-17 12:55:00
  • Sql Server 查询性能优化之走出索引的误区分析

    2012-05-22 18:56:52
  • 深入研究Application和Session对象

    2008-10-13 08:30:00
  • asp导出CSV格式数据

    2008-12-24 21:25:00
  • 关于 MediaPlayer 播放器参数详解

    2008-08-10 18:33:00
  • MySQL数据库常见的出错代码及出错信息

    2008-05-27 12:29:00
  • 对fieldset和legend的默认样式一点分析

    2008-07-02 12:56:00
  • Active Server Pages 错误 ASP 0201 修复方法

    2011-03-06 10:41:00
  • asp之家 网络编程 m.aspxhome.com