多个限制问题?

fkueyga6 2009-09-05 01:58:01
conn.execute("update xygl inner join bjgl on xygl.t27=bjgl.b1 and xygl.t28=bjgl.b2 set xygl.t27=bjgl.b1,xygl.t28=bjgl.b2,xygl.t29=bjgl.b3,xygl.t30=bjgl.b8+bjgl.b22,xygl.t31=bjgl.b6,xygl.t32=bjgl.b7,xygl.t33=bjgl.b4+bjgl.b27+bjgl.b28+bjgl.b20+bjgl.b21,xygl.t34=bjgl.b5,xygl.t35=bjgl.b11+bjgl.b23")
为什么红色部分没有用,怎样做才有用?
...全文
108 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
三楼の郎 2009-09-11
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 fkueyga6 的回复:]
照你的可以将内容修改了,但是没有提示“修改成功”,还有一楼和二楼的代码没用
[/Quote]
一楼、二楼的代码里面根本就没有ID这个东西怎么可能引发一个什么ID的错误呢,不是一楼、二楼的代码没用,而是你的代码里面还有别的问题,,一、二楼的代码只解决了你在顶楼所提出的问题,至少你按这两种方法修改以后问题已经不再是顶楼的问题了。
fkueyga6 2009-09-11
  • 打赏
  • 举报
回复
那为什么不改的时候id就有值呢?
fkueyga8 2009-09-11
  • 打赏
  • 举报
回复
弄清楚了,二楼的代码应该这样就对了
update xygl,bjgl set xygl.t27=bjgl.b1,xygl.t28=bjgl.b2,xygl.t29=bjgl.b3,xygl.t30=bjgl.b8+bjgl.b22,xygl.t31=bjgl.b6,xygl.t32=bjgl.b7,xygl.t33=bjgl.b4+bjgl.b27+bjgl.b28+bjgl.b20+bjgl.b21,xygl.t34=bjgl.b5,xygl.t35=bjgl.b11+bjgl.b23 where xygl.t27=bjgl.b1 and xygl.t28=bjgl.b2
fkueyga6 2009-09-11
  • 打赏
  • 举报
回复
我只要把conn.execute("update sfgl set sfgl.l1=xygl.t1,sfgl.l2=xygl.t2,sfgl.l3=xygl.t4,sfgl.l4=xygl.t5,sfgl.l13=xygl.t25,sfgl.l14=xygl.t19,sfgl.l15=xygl.t20 from sfgl ,xygl where sfgl.l1=xygl.t1 and sfgl.l8=xygl.t35") 也就是二楼的代码删除,怎么就可以正常修改???
fkueyga6 2009-09-11
  • 打赏
  • 举报
回复
提交文件的代码:
<%dim exec,aa,bb,d,e
set conn=server.createobject("adodb.connection")
conn.open"driver={microsoft access driver (*.mdb)};dbq="&server.mappath("database/!@#bbsxp.asa")
exec="select * from xygl where id="&request.querystring("id")
set rs=server.createobject("adodb.recordset")
rs.open exec,conn
aa = rs("t4")
bb = rs("t6")
d = rs("t3")
e = rs("t11")
%>
<form name="form1" method="post" action="xygl4.asp" onSubmit="return chk();">
。。。。。。。。。
<input type="submit" name="Submit" value="提交">
<input name="id" type="hidden" value="<%=request.querystring("id")%>" />
         
<input type="reset" name="Submit2" value="重置">
</form>
fkueyga6 2009-09-11
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 citybird 的回复:]
引用 14 楼 fkueyga6 的回复:
照你的可以将内容修改了,但是没有提示“修改成功”,还有一楼和二楼的代码没用

一楼、二楼的代码里面根本就没有ID这个东西怎么可能引发一个什么ID的错误呢,不是一楼、二楼的代码没用,而是你的代码里面还有别的问题,,一、二楼的代码只解决了你在顶楼所提出的问题,至少你按这两种方法修改以后问题已经不再是顶楼的问题了。
[/Quote]
还有别的问题??那究竟是哪里有问题呢?
<!-- #include file="../Channel_Forum.asp" -->
<!-- #include file="../Con_Forum_Fir.asp" -->
<!-- #Include File="../../Include/Cls_PageCute.asp" -->
<%set conn=server.createobject("adodb.connection")
conn.open"driver={microsoft access driver (*.mdb)};dbq="&server.mappath("database/!@#bbsxp.asa")
sql="select * from xygl where id="&request.form("id")
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
if login_mode <>"admin" and rs("t11")="终审" then
response.write " <script language=""javascript"">window.alert(""此学员已锁定,如要修改请联系管理员"") </script>"
response.write" <script language=""javascript"">window.document.location.href='javascript:history.go(-1)'; </SCRIPT>"
elseif login_username <>""&rs("t10")&"" and login_mode <>"admin" then
response.write" <SCRIPT language=JavaScript>alert('很抱歉,您没有权限!');"
response.write"window.document.location.href='javascript:history.go(-1)'; </SCRIPT>"
response.end
else
rs("t1")=request.form("t1")
.........
rs.update
conn.execute("update sfgl set sfgl.l1=xygl.t1,sfgl.l2=xygl.t2,sfgl.l3=xygl.t4,sfgl.l4=xygl.t5,sfgl.l13=xygl.t25,sfgl.l14=xygl.t19,sfgl.l15=xygl.t20 from sfgl ,xygl where sfgl.l1=xygl.t1 and sfgl.l8=xygl.t35")
response.write" <SCRIPT language=JavaScript>alert('修改成功!');"
response.write"window.document.location.href='javascript:history.go(-1)'; </SCRIPT>"
rs.close
set rs=nothing
conn.close
set conn=nothing
end if
%>
qqlxinye 2009-09-08
  • 打赏
  • 举报
回复
呵呵,这个是做参考的,if request.form("id") ="" then redirect "error.asp" 你也不想想到哪去了呀,呵呵,这个自己想想问题在哪就知道了,这里是说明如果id没有值怎么怎么样的噢,呵呵,
gxq323 2009-09-08
  • 打赏
  • 举报
回复
程序是按顺序执行的,你提交修改的时候并没有传ID,从上往下执行,执行到接受id那儿肯定就执行不下去了
fkueyga6 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 qqlxinye 的回复:]
错误行是第6行:sql="select * from xygl where id="&request.form("id")
语法错误 (操作符丢失) 在查询表达式 'id=' 中。是么,那就在上面加下

if request.form("id") ="" then redirect "error.asp"
[/Quote]
照你的可以将内容修改了,但是没有提示“修改成功”,还有一楼和二楼的代码没用
qqlxinye 2009-09-08
  • 打赏
  • 举报
回复
错误行是第6行:sql="select * from xygl where id="&request.form("id")
语法错误 (操作符丢失) 在查询表达式 'id=' 中。是么,那就在上面加下

if request.form("id") ="" then redirect "error.asp"
fkueyga8 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 fkueyga6 的回复:]
引用 8 楼 fkueyga6 的回复:
这样就是不行所以才发贴的蛮,我按二楼的改了,但是改了以后就出现[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=' 中。

说错了,是按三楼的改的
[/Quote]
看错了,还是按二楼的改的
fkueyga8 2009-09-08
  • 打赏
  • 举报
回复
sdfsdf
fkueyga6 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fkueyga6 的回复:]
这样就是不行所以才发贴的蛮,我按二楼的改了,但是改了以后就出现[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=' 中。
[/Quote]
说错了,是按三楼的改的
fkueyga6 2009-09-08
  • 打赏
  • 举报
回复
该怎么弄呢?
fkueyga6 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cosler 的回复:]
conn.execute("update xygl inner join bjgl on xygl.t27=bjgl.b1 and xygl.t28=bjgl.b2 set xygl.t27=bjgl.b1,xygl.t28=bjgl.b2,xygl.t29=bjgl.b3,xygl.t30=bjgl.b8+bjgl.b22,xygl.t31=bjgl.b6,xygl.t32=bjgl.b7,xygl.t33=bjgl.b4+bjgl.b27+bjgl.b28+bjgl.b20+bjgl.b21,xygl.t34=bjgl.b5,xygl.t35=bjgl.b11+bjgl.b23")


楼主你太强了,我想都不敢想,可以这么搞。
[/Quote]
这样就是不行所以才发贴的蛮,我按二楼的改了,但是改了以后就出现[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=' 中。
黑心 2009-09-08
  • 打赏
  • 举报
回复
conn.execute("update xygl inner join bjgl on xygl.t27=bjgl.b1 and xygl.t28=bjgl.b2 set xygl.t27=bjgl.b1,xygl.t28=bjgl.b2,xygl.t29=bjgl.b3,xygl.t30=bjgl.b8+bjgl.b22,xygl.t31=bjgl.b6,xygl.t32=bjgl.b7,xygl.t33=bjgl.b4+bjgl.b27+bjgl.b28+bjgl.b20+bjgl.b21,xygl.t34=bjgl.b5,xygl.t35=bjgl.b11+bjgl.b23")


楼主你太强了,我想都不敢想,可以这么搞。
fkueyga6 2009-09-08
  • 打赏
  • 举报
回复
错误行是第6行:sql="select * from xygl where id="&request.form("id")
fkueyga6 2009-09-08
  • 打赏
  • 举报
回复
没改之前就不会出现这个错误,是正常的
fkueyga6 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 citybird 的回复:]
update xygl set  xygl.t27=bjgl.b1,xygl.t28=bjgl.b2,xygl.t29=bjgl.b3,xygl.t30=bjgl.b8+bjgl.b22,xygl.t31=bjgl.b6,xygl.t32=bjgl.b7,xygl.t33=bjgl.b4+bjgl.b27+bjgl.b28+bjgl.b20+bjgl.b21,xygl.t34=bjgl.b5,xy¡­
[/Quote]
<!-- #include file="../Channel_Forum.asp" -->
<!-- #include file="../Con_Forum_Fir.asp" -->
<!-- #Include File="../../Include/Cls_PageCute.asp" -->
<%set conn=server.createobject("adodb.connection")
conn.open"driver={microsoft access driver (*.mdb)};dbq="&server.mappath("database/!@#bbsxp.asa")
sql="select * from xygl where id="&request.form("id")
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
if login_mode<>"admin" and rs("t11")="终审" then
response.write " <script language=""javascript"">window.alert(""此学员已锁定,如要修改请联系管理员"") </script>"
response.write" <script language=""javascript"">window.document.location.href='javascript:history.go(-1)'; </SCRIPT>"
elseif login_username<>""&rs("t10")&"" and login_mode<>"admin" then
response.write"<SCRIPT language=JavaScript>alert('很抱歉,您没有权限!');"
response.write"window.document.location.href='javascript:history.go(-1)';</SCRIPT>"
response.end
else
rs("t1")=request.form("t1")
.........
rs.update
conn.execute("update sfgl set sfgl.l1=xygl.t1,sfgl.l2=xygl.t2,sfgl.l3=xygl.t4,sfgl.l4=xygl.t5,sfgl.l13=xygl.t25,sfgl.l14=xygl.t19,sfgl.l15=xygl.t20 from sfgl ,xygl where sfgl.l1=xygl.t1 and sfgl.l8=xygl.t35")
response.write"<SCRIPT language=JavaScript>alert('修改成功!');"
response.write"window.document.location.href='javascript:history.go(-1)';</SCRIPT>"
rs.close
set rs=nothing
conn.close
set conn=nothing
end if
%>
红色部分没改之前是这样的
conn.execute("update sfgl inner join xygl on sfgl.l1=xygl.t1 set sfgl.l1=xygl.t1,sfgl.l2=xygl.t2,sfgl.l3=xygl.t4,sfgl.l4=xygl.t5,sfgl.l13=xygl.t25,sfgl.l14=xygl.t19,sfgl.l15=xygl.t20")
为什么改了以后会出现:
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=' 中。
  • 打赏
  • 举报
回复
这写法也就你写得出来了
加载更多回复(2)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧