<%
var use=Request.Form("psw0");
var pass=Request.Form("psw1");
var pass1=Request.Form("psw2");
var use1=Request.Form("psw3");
if(use!="" && pass!="" && pass!=pass1 && use1!=""){
var conn = Server.CreateObject("ADODB.Connection");
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("learn.mdb");
conn.Open;
if (conn.state!=1){
    Response.Write("数据库连接错误,请检查连接字符串!")
    conn=null;
    Response.End
  }
var rs= conn.Execute("select * from [guestbook] where name = '" + use + "'");
if(!rs.EOF){
errmsg="用户已经存在"
Response.write(errmsg);
rs.Close();
conn.Close();
}else{
errmsg="注册成功"
Response.write(errmsg);
rs.Open ("insert into [guestbook] (name) values ('"+use+"')"),conn,1,3
rs.AddNew
rs("name")=use;
rs.Update
rs.Close();
conn.Close();
}
}
%>
为什么 我这样写后~~~
会出现 对象已经关闭的错误~~
但是又数据库 中添加了内容~~
还有弹出窗口怎么没反映~~~
以上 用的是JAVASCRIPT写的~~

解决方案 »

  1.   

    首先,你这个是Asp的问题,虽然你是用jscript写的。
    还有,你这个是什么
    Response.write(errmsg); 
    rs.Open   ("insert   into   [guestbook]   (name)   values   ('"+use+"')"),conn,1,3 
    rs.AddNew 
    rs("name")=use; 
    rs.Update 
    rs.Close(); 
    conn.Close(); 

    按道理来说应该有两条相同的纪录,现在只有一条,所以肯定某个地方出了问题,可能就是rs.addNew因为 rs.addNew的前提是select 现在你已经是insert into 了,所以抱错了,我是这么认为的。