设计江湖 >> 设计教程 >> 网站建设 >> asp中access到sql 要做的工作
asp中access到sql 要做的工作
- 作者: 来源: 日期:2007-10-20 21:43:55 点击: 参与本文评论 进入论坛
-
- asp中access到sql server导入升级后要做的工作。
1.数据库导入以后,自动增加字段需要重写,所有的数字类型需要增加长度,最好用bigint。
2.所有的默认值都丢失了。主要是数字类型和日期类型。
3.所有sql语句中的now(),time(),date()要改成getdate()。
4.所有sql语句中的datediff('d', time1, time2)要改成datediff(day, time1, time2),相应的其他日期属性也需要更改。
5.有可能一些true/false的判断语句不能正常使用了,这里是指用整数型来表达bool的情况,要变为1/0。
6.备注类型要通过cast(column as varchar)来使用。
7.CursorType要改成1,也就是打开数据库时要给出第一个数字参数为1,否则记录可能
显示不完整。也就是说,一般要写成rs.open sql, conn, 1。
8.isnull(rowname)要改成rowname = null
9.程序里如果有直接对整型变量的判断,也需要进行显示的转换,如:
if rs("id"
= 0 then
要变为
if clng(rs("id"
) = 0 then
保留字和DELETE语句~~
如money型变量,在access数据中会自动以字符串形式输入一,而在sql中,money型变量不能作为字符串处理
你不要用set rs=conn.execute(sql)
要用rs.open sql,conn,1,1
rs.open "select * from UserInfo where user='"&user&"' and pwd='"&pwd&"'",conn,1,2
改成如下
rs.open "select * from [UserInfo] where [user]='"&user&"' and [pwd]='"&pwd&"'",conn,1,2
因为user被视为关键字吧,所以必须加[]号
10.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete * from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10".
11.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。
另外,请检查数据库字段类型是否对应,或者长度是否超出;
还有,在我印象中(注意是在我印象中),Access数据库对数值型的操作可以加'号,也就是说可以NumberValue='"&MyNumber&"'
但SQL Server比较严格,只能 NumberValue="&MyNumber&"
注:NumberValue是字段名,MyNumber是变量,类型为数值型
ID 自动编号 50
ID int 标识:是 标识种子:1 标识递增量:1 长度:4
u_type 文本 默认值:"普通" 50
u_type nvarchar 默认值:('普通') 长度:50
u_type1 文本 默认值:"普通" 50
u_type1 nvarchar 默认值:('普通') 长度:50
u_id 文本 50
u_id nvarchar 长度:50
u_pwd 文本 50
u_pwd nvarchar 长度:50
u_email 文本 50
u_email nvarchar 长度:255
u_realname 文本 50
u_realname nvarchar 长度:50
u_tel 文本 50
u_tel nvarchar 长度:50
u_intro 备注
u_intro ntext 长度:16
u_date 日期/时间
u_date datetime 长度:8
u_times 数字 长整型
u_times int 默认值:('0') 长度:4
u_money 数字 双精度型
u_money float 默认值:('0') 长度:8
u_school 文本 50
u_school nvarchar 长度:255
u_qq 文本 50
u_qq nvarchar 长度:50
u_msn 文本 50
u_msn nvarchar 长度:50
u_phone 文本 50
u_phone nvarchar 长度:50
u_request_zz 数字 长整型
u_request_zz int 默认值:('0') 长度:4
u_humin 文本 50
u_humin nvarchar 长度:50
u_kahao 文本 50
u_kahao nvarchar 长度:50
u_yinhang 文本 50
u_yinhang nvarchar 长度:50
把adOpenDynamic改成adOpenKeyset试试, 每种数据库添加记录后是否能够取到自动增量的id值都是不同的,是取决于CursorType和LockType.
例如access无论怎么设CursorType和LockType都可以取到id,而sqlserver只能用adOpenKeyset才能取得增量id,详情请参考《ASP高级编程》第8章第4节
-
参与"asp中access到sql 要做的工作"的评论 现有评论数: 进入论坛
设计江湖shejijh.com声明:此文章是为了传递信息,文章内容仅供参考,转载请注明。
版权归作者所有,如有侵犯您的利益请联系设计江湖shejijh@163.com我们会及时处理!
Copyright authors have,If it is Damage your interest please contact shejijh@163.com
- 上一篇:限制sql server数据库日志文件的大小
下一篇:access 转 sql2000 的注意事项(ASP)
- Google AD
-
- 最新推荐

- FW鼠绘CG性感美女
- 鼠绘CG性感美效果图本教程是为了讲述如何用FW构画CG作品,这需要一些绘画技巧,本..
- 相关文章
- 热门推荐

- PS非主流风格化照片
- PS非主流风格化照片1、开图解锁,复制图层2、图层0副本执行 滤镜-杂色-蒙尘与划痕..
- BAIDU AD
-