主题:  帮我看看,哪里出错了?

一溪流水

职务:普通成员
等级:1
金币:0.0
发贴:15
#12001/11/7 15:58:47
set cnndb=server.createobject("adodb.connection")
sql="provider=Microsoft.jet.oledb.4.0 ; Data source= " & _
server.Mappath("zxdt.mdb")
cnndb.open sql
set rstobj=server.createobject("adodb.recordset")
rstobj.open "zxdt",cnndb,1,2
tt=array("name","password","email","address","year","time")
ss=array("name1","poss","email1","address1","year1",data)
rstobj.addnew tt,ss
我确定里面的数据库没错,字段也没错,唉,愁呀~恕我愚笨~请指教~先多谢了~



5D荣誉斑竹

职务:普通成员
等级:2
金币:1.0
发贴:343
#22001/11/7 20:43:06
把详细错误提示写出来,我帮你看看。



一溪流水

职务:普通成员
等级:1
金币:0.0
发贴:15
#32001/11/8 9:21:29
出现提示的是:
错误类型:
Microsoft VBScript 运行时错误 (0x800A01A8)
/
然后就是多少多少行有错,可是我怎么看也看不出来错在哪里~



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#42001/11/8 13:03:22
最好不要用name,year,time...这些关键字做字段,改改再看



张无忌

职务:普通成员
等级:1
金币:0.0
发贴:18
#52001/11/8 21:12:23
rstobj.open "zxdt",cnndb,1,2
////////////////////////////////////////
sql="select * from xxx"
rstobj.open sql,cnndb,1,2



5D荣誉斑竹

职务:普通成员
等级:2
金币:1.0
发贴:343
#62001/11/8 23:01:11
我来详细地说一下:
set cnndb=server.createobject("adodb.connection")
这一句没有必要!因为在建立数据集(recordset)的时候后自动打开数据库连接
sql="provider=Microsoft.jet.oledb.4.0 ; Data source= " & server.Mappath("zxdt.mdb")
这一句没有问题
cnndb.open sql
这一句也没有必要!
set rstobj=server.createobject("adodb.recordset")
正确
rstobj.open "zxdt",cnndb,1,2
严重的错误。数据集recordset的建立语法是:
rstobj.open sql语句,数据库连接字符串,1,2 。所以这一句应该修改为:
rstobj.open "select * from zxdt",sql,1,2

tt=array("name","password","email","address","year","time")
ss=array("name1","poss","email1","address1","year1",data)
上面的这两句也没有错误
rstobj.addnew tt,ss
在增加以后,还需要执行一下更新语句才能增加到数据库里面:
rstobj.update
所以,修改后的语句是:
sql="provider=Microsoft.jet.oledb.4.0 ; Data source= " & server.Mappath("zxdt.mdb")
set rstobj=server.createobject("adodb.recordset")
rstobj.open "select * from zxdt",sql,1,2
tt=array("name","password","email","address","year","time")
ss=array("name1","poss","email1","address1","year1",data)
rstobj.addnew tt,ss
rstobj.update



一溪流水

职务:普通成员
等级:1
金币:0.0
发贴:15
#72001/11/9 15:18:31
哎,改过来了~可是还是不行~真奇怪~ :( 我试过用那一段代码去读出数据库的数据,可以读出来,证明路径呀什么的应该没有问题。我把这段程序的全部代码贴出来,麻烦大家再帮我看看。 :)
////////////////////////////////////////////////









<%
if isempty(request.form) then
%>
欢迎您注册信息!


 






















用户名:

输入密码:

E_MAIL:

来自于:




<%
else
sql="provider=Microsoft.Jet.OLEDB.4.0 ; Data Source= " & _
server.Mappath("zxdt.mdb")    
set rstobj=server.createobject("ADODB.Recordset")
rstobj.open "select * from zxdt",sql,1,2
ss = Array("name","password","time","email","address")
tt = Array(request("name1"),request("poss"),Data,request("email1"), _
request("address1"))    
    rstobj.addnew ss,tt
rstobj.update
     end if
rstobj.close
set rstobj=nothing

%>
    
     注册成功!
    


////////////////////////////////////////
记得在sql里面有一个insert into 添加数据的指令,可是它里面的 & " '" _ 这样的符号我老是会用错,如果有空的话也帮我讲讲吧~~十分感谢~~

编辑历史:[这消息被一溪流水编辑过(编辑时间2001-11-09 15:20:46)]


5D荣誉斑竹

职务:普通成员
等级:2
金币:1.0
发贴:343
#82001/11/9 20:33:53
这里是我自己编写的一个聊天室的部分注册代码,你参考一下:

.....
set cnndb=Server.CreateObject("adodb.connection")
cnstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("winchat.mdb")
cnndb.open cnstr '打开数据库

uname=request.form("username")
nname=request.form("nickname")
upwd=request.form("userpwd")
himage=request.form("headimage")
uemail=request.form("useremail")
usign=request.form("usersign")
sqlstrins="insert into users(username,nickname,userpwd,headimage,useremail,usersign) values("&"'"&uname&"',"&"'"&nname&"',"&"'"&upwd&"',"&"'"&himage&"',"&"'"&uemail&"',"&"'"&usign&"')"
cnndb.execute(sqlstrins)
rs_user.close
cnndb.close
set cnndb=nothing
Response.Write "注册成功!请返回

"
Response.Write "
返回
"
Response.End

编辑历史:[这消息被wincheer编辑过(编辑时间2001-11-09 20:34:53)]


绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#92001/11/10 11:43:54
跟你说了呀,那些关键字有问题



一溪流水

职务:普通成员
等级:1
金币:0.0
发贴:15
#102001/11/14 11:21:35
问题解决了~谢谢诸位相帮~