首页 美女贴图 网络日记 重庆租房 搜索指南 网络电视 飘网音乐 飘网博客 精彩网址 友情链接 飘网地图 本站留言
飘网中国
专题:网络营销 | 网站设计 | QQ技巧 | 搜索优化 | 菜鸟进阶 | 病毒攻防 | 网络技术 | 系统应用 | 本站作品 | 常用软件 | 工具软件 |
飘网中国>>网站设计>>正文

Access与Sql Server的ASP代码比较

编辑:飘网 来源: 更新:2007-2-1 点击:
【字体:

摘要:Access与Sql Server的ASP代码比较,日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQLSERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
关键字:Access Sql Server 
正文:
后台数据库:
[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程序使用的是acces
[1][2][3][4][5][6][7]
上一篇:SQL Server数据库系统和Win2000服务器问题
下一篇:如何清除“熊猫烧香”病毒!
最新文章 更多
推荐文章 更多
热门文章 更多
© 2005-2010 飘网中国 版权所有
站长邮箱:①LCC-749AT163.com ②FlymornATgmail.com(AT改为@)
如转载时,请注明出处;本站部分资源来自网络,如有侵权,请来信说明;飘易文章系统 HTML版.
渝ICP备05000119号