ASP+ACCESS转换成ASP+SQL问题,请高手来帮忙!!

我原来用的是ASP+ACCESS,现在我想换成ASP+SQL。有2个问题,请 各位朋友帮忙! 问题一:ASP+ACCESS换成ASP+SQL 那么数据库换了,我的ASP代码 要重新写吗? 问题二:我现在用的ASP+ACCESS程序是好的,我现在换SQL。连SQL 数据库要用什么代码哦,我用ACCESS的,COON.ASP文件代码为: <% dim db,conn,myconn db="mdb/everzones.mdb" Set Conn = Server.CreateObject("ADODB.Connection") myconn="Provider=SQLOLEDB.1;Data Source=" & 127.0.0.1 & ";Initial Catalog=" & everzones & ";" Persist Security Info=False; %> 我现在要换成SQL数据库,请问代码要怎么写。放到这个COON.ASP里面 我的SQL登陆用户名是.sa 没有密码的. 然后SQL数据库名称为:everzones

1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!
2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。
3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:%22delete * from user where id=10%22,而对SQL SERVER数据库进行删除是用:%22delete user where id=10%22.
4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。1,对于日期字段字段
access表示为:#1981-28-12#
SQLSERVER2000表示为:‘‘1981-02-12‘‘
2,SQL语句区别,select ,update 在对单表操作时都差不多,
但多表操作时update语句的区别ACCESS与SQLSERVER中的UPDATE语句对比:
SQLSERVER中更新多表的UPDATE语句:
UPDATE Tab1
SET a.Name = b.Name
FROM Tab1 a,Tab2 b
WHERE a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是
UPDATE Tab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.
更新单表时:都为:
UPDATE table1 set ab=‘12‘,cd=444 where ….
3,delete语句
access中删除时用:delete * from table1 where a>2 即只要把select 语句里的select 换成delete就可以了。
sqlserve 中则为: delete from table1 where a>2 即没有*号中国2006-4-15 19:27:48
4,as 后面的计算字段区别
access中可以这样:select a,sum(num) as kc_num,kc_num*num as all_kc_num 即可以把AS后的字段当作一个数据库字段参与计算。
sqlserver 中则为:select a,sum(num) as kc_num,sum(num)*num as all_kc_num 即不可以把AS后的字段当作一个数据库字段参与计算。
5,[.]与[!]的区别
access中多表联合查询时:select tab1!a as tab1a,tab2!b tab2b from tab1,tab2 ,中间的AS可以不要。
sqlserve 中则:select tab1.a as tab1a,tab2.b tab2b from tab1,tab2 ,中间的AS可以不要。
6,联合查询时,
access中多表联合查询:‘select a,b from(
select a,b from tab1 where a>3 union select c,d from tab2 ) group by a,b
sqlserve 中则‘select a,b from(
select a,b from tab1 where a>3 union select c,d from tab2 ) tmptable group by a,b即要加一个虚的表tmptable,表名任意。—
7,access升级到sqlserver时,
可以用sqlserver的数据导入工具导入数据
温馨提示:答案为网友推荐,仅供参考
相似回答