请问sql中为什么不能正常使用set rs=conn.execute(sql)?access是正常的。
但也不是全部都不行,比如
sql = "SELECT * FROM "&table_name&"_type where classid="&type_temp(0,i)&" ORDER BY id DESC"
set rs=conn.execute(sql)
这个就可以
sql = "SELECT * FROM "&table_name&"_skins where id="&config(2)
set rs=conn.execute(sql)
可是这个却不行,也不报错,就是取不出任何数据
sql = "SELECT * FROM "&table_name&"_skins where id="&config(2)
Set rs = Server.CreateObject("ADODB.Recordset")
rs.OPEN sql,Conn,1,3
写成这样又好了
搞得我现在很郁闷,请问谁知道这是为什么。
问题点数:100、回复次数:11Top
1 楼liuqinyi(宝贝)回复于 2003-02-02 18:29:41 得分 100
改成
sql = "SELECT * FROM "&table_name&"_skins where id='"&config(2)&"'"
这是因为sql 和access之间的细微区别Top
2 楼sjt(掌握星光)回复于 2003-02-02 18:31:20 得分 0
不是呀,config(2)是个数字呀,这样的话不是会出错吗?Top
3 楼ckxp(好好学习,天天向上)回复于 2003-02-02 19:03:52 得分 0
应该不会出错
rs.open "select * from XXXX where XXX='"&内容&"' ",conn,1,3
Top
4 楼sjt(掌握星光)回复于 2003-02-02 19:05:03 得分 0
不能用set rs=conn.execute(sql)吗?Top
5 楼matq2008(叶子.net)回复于 2003-02-02 19:14:51 得分 0
当然可以,看你的参数类型是否匹配的,最好显性的定义你的参数是整型的Top
6 楼matq2008(叶子.net)回复于 2003-02-02 19:16:31 得分 0
如果是sql server,id最好加上中括号Top
7 楼earthpea(问莲根,有丝多少?莲心知为谁苦?)回复于 2003-02-02 19:38:29 得分 0
我个人认为,在sql = "select…………"之后,加上一个response.write sql来看一下sql的语句是否正确。
这样才能看出问题的所在
如果它还是报错,在response.write 后面加一个response.end,将程序终止再看Top
8 楼sjt(掌握星光)回复于 2003-02-03 12:53:22 得分 0
他不报错,一切正常,就是读不出数据来。
我现在很诧异的是第三种可以为什么第二种不行,SQL写的是一样的呀Top
9 楼iren99(kai)回复于 2003-02-03 15:51:22 得分 0
检查数据库Top
10 楼xjzjgydx(上官静)回复于 2003-02-03 16:06:01 得分 0
检查数据库Top
11 楼formatkm(老革)回复于 2003-02-04 15:44:38 得分 0
你的数据库里可能有默认值或自动递加的ID和access库比较下。Top




