asp数据库问题,请高手指教。
我从网上下的网站整站,是access数据库的,我现在改为sql2000了,表中的自动编号也改了,还有一些数据类型和日期函数的格式也改了,但是现在产品页面不能删除、添加和修...
我从网上下的网站整站,是access数据库的,我现在改为sql2000了,表中的自动编号也改了,还有一些数据类型和日期函数的格式也改了,但是现在产品页面不能删除、添加和修改,求高手指点。
展开
5个回答
2012-01-13
展开全部
请检查SQL语句:
(1)时间函数的问题:SQL数据库的时间函数与access不同,最常见的是取现在时间的函数,access是now(),SQL是getdate()。因此凡是在where子句中使用了now()的地方都要改成getdate();注意,now()函数在asp程序本身也要使用,凡是不在数据库查询或执行语句中使用的now()函数千万不要改。
(2)时间比较函数:datediff('d','时间1',‘时间2’)这是access查询用的格式,SQl中这些引号都要去掉,同时时间格式的前后可能加上了#,这也要去掉。同样这也是指在sql语句中的,在asp语句中的要保持原样。
(3)空值的表示:在access中,判断空值一般用是否=""来表示,但是这在SQL中往往出错,如果遇到出错的问题或者程序运行不正常,可以改成如这样判断:where (name is null)
(4)真假值判断:access中可以用=true、=false来判断,但是在SQL中就会出错,因此在SQL查询或执行语句中这类判断要分别改成=1、=0。注意一点:有些程序虽然写成=“true”,但是由于有引号,所以这个字段是字符类型的,你不能改成=1,保持原样即可。
(5)在对ACCESS数据库进行删除纪录时用:"delete * from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10"。
(6)在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQLSERVER数据库处理中,却不能用。
调试程序经常遇到的出错的语句是:conn.execute(sql),注意这句本身是没有错的,错误原因是里面的这个sql字符串,要向上看这个sql字符串是如何生成的,按照上面所说的程序修改办法修改。
(1)时间函数的问题:SQL数据库的时间函数与access不同,最常见的是取现在时间的函数,access是now(),SQL是getdate()。因此凡是在where子句中使用了now()的地方都要改成getdate();注意,now()函数在asp程序本身也要使用,凡是不在数据库查询或执行语句中使用的now()函数千万不要改。
(2)时间比较函数:datediff('d','时间1',‘时间2’)这是access查询用的格式,SQl中这些引号都要去掉,同时时间格式的前后可能加上了#,这也要去掉。同样这也是指在sql语句中的,在asp语句中的要保持原样。
(3)空值的表示:在access中,判断空值一般用是否=""来表示,但是这在SQL中往往出错,如果遇到出错的问题或者程序运行不正常,可以改成如这样判断:where (name is null)
(4)真假值判断:access中可以用=true、=false来判断,但是在SQL中就会出错,因此在SQL查询或执行语句中这类判断要分别改成=1、=0。注意一点:有些程序虽然写成=“true”,但是由于有引号,所以这个字段是字符类型的,你不能改成=1,保持原样即可。
(5)在对ACCESS数据库进行删除纪录时用:"delete * from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10"。
(6)在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQLSERVER数据库处理中,却不能用。
调试程序经常遇到的出错的语句是:conn.execute(sql),注意这句本身是没有错的,错误原因是里面的这个sql字符串,要向上看这个sql字符串是如何生成的,按照上面所说的程序修改办法修改。
展开全部
网上的网站大部分功能都是不全的。也就是你手里的是一个试用软件。但如果你的系统在access中能用的话,那么,就可能是你的传递参数有问题。
追问
在access下运行正常,你能帮我看看吧,我不是很懂。qq387759246
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库操作类改了没有?Access是:OledbConnection,而Sql 是SqlConnection 类似的东西,你看你都改过没有。我同学碰到过同样的问题,就是这个原因。
追问
请问在哪里了改呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ACCESS 和SQL2000 有些数据格式是不一样的,再一个一些对数据库的操作语句在ACCESS中与在SQL2000中有些出入,你可以逐步调试看下
追问
您有这方面的资料吗,我做下参考
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看你的意思是能正常连接到数据库.有报错么或者其他什么提示吗?
追问
不报错,就是运行后数据库里没变化
追答
你在产品页面做个处理
看看有没有执行数据库操作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询