标题:请教一下asp修改数据的错误
只看楼主
atozxp
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-9
得分:0 
这个地方不行啊,弹出窗口确定后直接就转向了
2006-04-11 23:12
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
得分:0 

你提交到当前页面 加个变量
if trim(request.querystring("action"))="save" then

*.asp?action=sava

[此贴子已经被作者于2006-4-11 23:29:04编辑过]


2006-04-11 23:21
atozxp
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-9
得分:0 
这个页面前段获取上页传来的ID值,中间修改提交,最后更新数据库

如果提交到当前页面的话,那个save是谁的action?then后面就直接可以转向了?
初学asp,能不能详细的给指导一下?谢谢
2006-04-11 23:43
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
得分:0 
我也初学没多久,看我发问的日期就知道我那时候刚学



你看看
< form action="*.asp?action=sava" method="post" name="form1">


<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db.mdb")
if trim(request.querystring("action"))="save" then
set rs=Server.CreateObject("ADODB.Recordset")
sql="select * from guest where id="&id
rs.open sql,conn,1,3
%>

2006-04-11 23:51
atozxp
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-9
得分:0 
郁闷之极,我有两个页面,一个是edit1.asp用来列数据库记录,edit2.asp用来修改并提交,然后转到edit1.asp.
只要在form action里加入=xxx.asp?action=save,就会提示rs.open sql,conn,1,3出错,而且那个if语句似乎不太起作用。。。。
把文件打包上传,希望能够得到帮助,问了这么久的问题,都实在是不好意思再提了。。。。。
9P5JLY3o.rar (8.72 KB)

[此贴子已经被作者于2006-4-12 0:21:19编辑过]

2006-04-12 00:13
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
得分:0 
....
再不行就提交到别一个页面去

<form action="edit2_sava.asp" method="post" name="form1">



edit2_sava.asp
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("db.mdb")
set rs=Server.CreateObject("ADODB.Recordset")
sql="select * from guest where id="&id
rs.open sql,conn,1,3
name=request.form("name")
msg=request.form("msg")
rs("name")=name
rs("msg")=msg
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write "<script language=javascript>alert('修改成功!刷新页面即可!');history.back(-1)</script>
%>

还有,数据库链接就专门建一个文件吧.用include来调用

[此贴子已经被作者于2006-4-12 0:26:48编辑过]


2006-04-12 00:26
haslove
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-22
得分:0 
看了你的代码,原来是你放代码放错了

2006-04-12 00:30
atozxp
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2006-4-9
得分:0 

谢谢你的回复,现在已经可以正常的提交了,但问题是:

那个跳转页面的history.back(-1)似乎不起作用,改成负几它都只返回到上一个页面,只好先单独弹出确定,然后再写一行转向语句

这个到还在其次,让我不明白的是,为什么save页面修改记录所用的ID值总是不能从上级页面获取呢?总提示“语法错误 (操作符丢失) 在查询表达式 'id=' 中。”,把这个ID值改成具体数字就一切顺利。我仔细检查过,和edit_input.asp从edit_list.asp中的获取方式完全一样啊,为什么就不行了呢?

整个修改分三个文件来完成:edit_list.asp列表/edit_input.asp修改/edit_save.asp保存

------------------------------------

试了一晚上,我在edit_input.asp中加入一个文本框,用< %=rs("id")%>来显示ID,然后就被传递过去,一切就正常了。

不过,这种方法也太笨了点,有更简单的方法么?或者是能够将这个ID在某个地方隐含显示也行啊!

[此贴子已经被作者于2006-4-12 23:33:16编辑过]

2006-04-12 17:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-48030-1-1.html




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

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