注册 登录
编程论坛 ASP技术论坛

帮我看看现在哪里错了(已解诀)

lili0610931 发布于 2008-05-05 18:04, 537 次点击
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="../inc/conn.asp"-->
<!--#include file="../inc/ip.asp"-->
<%
id=session("musicid")
mn=request("musicname")
musicclass=request("musicclass")
url=request("musicurl")
un=request("musicun")
say=request("say")
lrc=request("lrc")
pic=request("musicpic")

sql="select * from ad_user_music where user_music_id="&id
Set rs= Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,3
if not rs.eof and not rs.bof then
    rs("user_music_mn")=mn
    rs("user_music_class"=musicclass
    rs("user_music_url")=url
    rs("user_music_music")=un
    rs("user_music_say")=say
    rs("user_music_lrc")=lrc
    rs("user_music_pic")=pic
    rs("user_music_updt")=now()
    rs("user_music_upip")=getIP
    rs.update()
end if
rs.close()
set rs=nothing

    response.Write"<script>alert('已经成功更新到数据库!');window.location.href='music_list.asp'</script>"
%>

改成这样,还有哪里错了啊(_

[[it] 本帖最后由 lili0610931 于 2008-5-6 14:10 编辑 [/it]]
7 回复
#2
bjbaima2008-05-05 19:39
你的罗辑就是错的。
更新数据库有两种方法,一种就是connection对象执行一个更新的sql语句,比如改造你的以上的语句:
<!--#include file="../inc/conn.asp"-->
<%
musicid=session("musicid")
musicmn=request.Form("musicname")
musicclass=request.Form("musicclass")
musicurl=request.Form("musicurl")
musicun=request.Form("musicun")
musicsay=request.Form("say")
musiclrc=request.Form("lrc")
musicpic=request.Form("musicpic")
music_update=now()

sql="update ad_music_class set user_music_mn='"&musicmn&"',user_music_class='"&musicclass&"',user_music_pic='"&musicpic&"',user_music_url='"&musicurl&"',user_music_say='"&musicsay&"',user_music_lrc='"&musiclrc&"',user_music_updt='"&music_update&"',user_music_upip='"&getIP&"' where user_music_id="&musicid
conn.execute(sql)
response.Write"<script>alert('已经成功更新到数据!');window.location.href='music_list.asp'</script>"
%>
就可以了。
#3
bjbaima2008-05-05 19:45
第二种方法,就是利用recordset对象更新,你上面的代码似乎在使用这种方法,但是用错了。
应该这样用。
<%
musicid=session("musicid")
musicmn=request.Form("musicname")
musicclass=request.Form("musicclass")
musicurl=request.Form("musicurl")
musicun=request.Form("musicun")
musicsay=request.Form("say")
musiclrc=request.Form("lrc")
musicpic=request.Form("musicpic")
music_update=now()

sql="select * froma d_music_class where user_music_id="&musicid
"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
if not rs.eof and not rs.bof then
    rs("user_music_mn")=musicmn
    rs("user_music_class"=musicclass
    ...
    rs.update()   '这一句非常重要,就是更新这条记录
end if
rs.close()
set rs=nothing
%>
以上是第二种方法,这两种方法更有好处,一般要是只是更新一条记录,可用第一种方法,如果又想得到记录,并且绑定到文本框上或者其他什么地方,同时又想更新记录,就用第二种方法。
#4
lili06109312008-05-06 09:32
谢谢了.我去改改看看
#5
lili06109312008-05-06 10:03
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="../inc/conn.asp"-->
<!--#include file="../inc/ip.asp"-->
<%
id=session("musicid")
mn=request("musicname")
musicclass=request("musicclass")
url=request("musicurl")
un=request("musicun")
say=request("say")
lrc=request("lrc")
pic=request("musicpic")

sql="select * from ad_user_music where user_music_id="&id
Set rs= Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,3
if not rs.eof and not rs.bof then
    rs("user_music_mn")=mn
    rs("user_music_class"=musicclass
    rs("user_music_url")=url
    rs("user_music_music")=un
    rs("user_music_say")=say
    rs("user_music_lrc")=lrc
    rs("user_music_pic")=pic
    rs("user_music_updt")=now()
    rs("user_music_upip")=getIP
    rs.update()
end if
rs.close()
set rs=nothing

    response.Write"<script>alert('已经成功更新到数据库!');window.location.href='music_list.asp'</script>"
%>

改成这样,还有哪里错了啊
#6
zhuzhanjun2008-05-06 10:35
把错误提示贴出来看看
#7
lili06109312008-05-06 10:36
没有错误提示
#8
hmhz2008-05-06 14:05
rs("user_music_class"=musicclass
改成
rs("user_music_class")=musicclass
1