| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2199 人关注过本帖
标题:这段ASP代码那里错了,写入不进数据库!
只看楼主 加入收藏
lijiong520
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-5-21
收藏
 问题点数:0 回复次数:10 
这段ASP代码那里错了,写入不进数据库!
上页代码:<td align="center" height="20"><a href=vipchange.asp?id=<%=rs("id")%>><%=rs("vip")%></a></td>
显示出来 1
实现功能是点击“1”后,交给Vipchange.asp处理,修改为0
如果是“0”,则点击后修改为"1"
可现在点击“1"或"0”后,出现错误

数据库里的值是文本型,是为1,否为0

<%set rs = server.CreateObject ("adodb.recordset")
sql="select * from company where id="&request("id")
rs.open sql,conn,3,3
if rs("vip")="0" then
vip="1"
else
vip="0"

rs("vip")=vip
rs.update
end if
rs.close
set rs=nothing
%>
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=295 ' 中。
/tuangou/www/admin/vipchange.asp, 第 17 行
就是这一行 rs.open sql,conn,3,3

到底那错了!气人
还有半个小时就要上交了,谢谢,给个签字吧!
搜索更多相关主题的帖子: quot 数据库 ASP vip 代码 
2008-02-22 17:04
tianyu123
Rank: 1
等 级:新手上路
威 望:2
帖 子:576
专家分:0
注 册:2007-8-26
收藏
得分:0 
sql="select * from company where id="&request("id")

sql="select * from company where id='"&request("id")&"'"

改变一切,须从改变观念开始!
2008-02-22 17:08
lijiong520
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-5-21
收藏
得分:0 
已经试过了,不行! ID是自动编号!
2008-02-22 17:21
lijiong520
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-5-21
收藏
得分:0 
修改后出现类型不匹配,我也看不出来是那里的问题! 大家看看给个答案啊!
2008-02-22 17:23
dhdhzzw
Rank: 1
等 级:新手上路
帖 子:949
专家分:0
注 册:2007-8-13
收藏
得分:0 
重新定义rs sql以防前面已定义而未关闭。。。还有数据库字段设计要注意,若是复制的数据库则注意字段的类型,默认值,主键等设置是否正确

这一句是否能得到值?
sql="select * from company where id="&request("id")
rs.open,sql,conn,1,3

[[it] 本帖最后由 dhdhzzw 于 2008-2-22 17:58 编辑 [/it]]
2008-02-22 17:55
lonetve
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-2-21
收藏
得分:0 
条件语句不对。为了区分2个vip,数据库里的vip字段,我就称rs("vip")。
    你的条件句的实现的是:rs("vip")值为0时,只是修改vip的为1,并没有修改数据库里rs("vip")的值;但为其他值时改变量vip的值,并修改数据库里rs("vip")的值。执行的结果就是,数据库里的rs("vip")总是0。代码应改为:
if rs("vip")="0" then
    vip="1"
else
    vip="0"
end if
rs("vip")=vip
rs.update

[[it] 本帖最后由 lonetve 于 2008-2-22 21:01 编辑 [/it]]
2008-02-22 20:57
lijiong520
Rank: 1
等 级:新手上路
帖 子:154
专家分:0
注 册:2007-5-21
收藏
得分:0 
那我这样写了,对吗? 但是还是错误!
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=295 ' 中。
/www/admin/vipchange.asp, 第 18 行
还是这一行 rs.open sql,conn,1,3


if rs("vip")="0" then
    vip="1"
elseif rs("vip")="1" then
    vip="0"
end if
rs("vip")=vip
rs.update

谁给个答案啊,急啊,就是弄不好!
2008-02-23 14:28
gjw5299
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2007-10-17
收藏
得分:0 
操作符丢失应该是SQL语句不正确吧
2008-02-23 19:25
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
Response.Write Request("id")
检查值有没有传过来
2008-02-23 23:45
thbwn
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
<%
id=request("id")
set rs = server.CreateObject ("adodb.recordset")
sql="select * from company where id="id
rs.open sql,conn,1,3
if rs("vip")="0" then
vip="1"
else
vip="0"
rs.addnew
rs("vip")=vip
rs.update
end if
rs.close
set rs=nothing
%>

          人人为我,我为人人!
2008-02-24 01:01
快速回复:这段ASP代码那里错了,写入不进数据库!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023287 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved