高分请教!!!!!急

kaihua11 2003-10-17 08:05:04
我有个问题:在asp执行过程中,总在这一行报错“ rs1.Open sql1,dataconn,3,3”,是由什么引起的?
...全文
89 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
rgbcn 2003-10-18
  • 打赏
  • 举报
回复
你数据库是不是都是字符型字段
coolboy0000love 2003-10-18
  • 打赏
  • 举报
回复
可能是op字段的类型不符合,数据库表中是否还有其他禁止为空值的字段?
你要把出错的信息贴出来看看啊
srj911 2003-10-18
  • 打赏
  • 举报
回复
op字段不是字符型的吧?
angelheavens 2003-10-18
  • 打赏
  • 举报
回复
搞不清楚你的字段哪些是数字型,哪些是字符型,比如:c_fatherid是数字的话,那个条件判断应改成:
if cint(c_fatherid) = 0 then
op = 2

else
op = 3
end if
jervis82 2003-10-17
  • 打赏
  • 举报
回复
rs.open sql,conn,1,1 的后两个1,1 各代表什么?
RS.OPEN SQL,CONN,A,B
A: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动
ADOPENSTATIC(=3) 只读,当前数据记录可自由移动
ADOPENKEYSET(=1) 可读写,当前数据记录可自由移动
ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动,可看到新增记录
B: ADLOCKREADONLY(=1) 默认值,用来打开只读记录
ADLOCKPESSIMISTIC(=2) 悲观锁定
ADLOCKOPTIMISTIC(=3) 乐观锁定
ADLOCKBATCHOPTIMISTIC(=4) 批次乐观锁定
topmonkey 2003-10-17
  • 打赏
  • 举报
回复
先把出错那行注释掉,直接显示sql语句,看看内容是什么。
'dataconn.execute "insert into user (username,pass,op) values('"&username&"','"&pass&"','"&op&"')"
Response.Write "insert into user (username,pass,op) values('"&username&"','"&pass&"','"&op&"')"
Response.End

如果你在sql语句中发现了什么问题,那末就恭喜你了。

另外,字段op是varchar型还是int型?如果是int型,语句应为:
dataconn.execute "insert into user (username,pass,op) values('"&username&"','"&pass&"',"&op&")"


对了,你的数据库表中是否还有其他禁止为空值的字段?
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
各位高手,天已晚,我还没吃饭,我先走了,等周一再给分,好吗?
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
哦,这个我已经发现了,改了,可还是在这行报错:dataconn.execute "insert into user (username,pass,op) values('"&username&"','"&pass&"','"&op&"')
qdubit 2003-10-17
  • 打赏
  • 举报
回复
不行啊?又报 dataconn.execute "insert into user (username,pass,op) value('"&username&"','"&pass&"','"&op&"')"
下的else这行!

你使用的insert语法有问题,其中的alue应该是values,改过来试试看!
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
劳驾各位高手,给跟贴呀?
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
现在又在这行报错了:
dataconn.execute "insert into user (username,pass,op) value('"&username&"','"&pass&"','"&op&"')"
Ljat 2003-10-17
  • 打赏
  • 举报
回复
rs1.Open "select * from [user] where username='" & username & "'" ,dataconn,3,3
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
angelheavens(龙辉)大哥,给看看,谢谢
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
不行啊?又报 dataconn.execute "insert into user (username,pass,op) value('"&username&"','"&pass&"','"&op&"')"
下的else这行!
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
高手,给看看,好吗?
angelheavens 2003-10-17
  • 打赏
  • 举报
回复
sql1 = "select * from [user] where username='"&username&"'"

把代码帖出
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
全部程序如下(这是向后台提交栏目名称和用户信息):

<!-- #include file="../conn_data.inc"-->

<%
dim op
dim username
dim c_user
dim pass
'on error resume next
classid=request("classid")
classname=request("classname")
c_fatherid=request("c_fatherid")
c_user=request("c_user")
username=request("c_user")
pass=request("c_user")
if c_fatherid = 0 then
op = 2

else
op = 3
end if

'if classname<>"" then
sql="insert into class (c_name,c_fatherid,c_user) values('" & classname & "'," & classid &",'"& c_user &"')"
dataconn.execute(sql)
'dataconn.close
'向user表中添加管理员信息
' if c_user<>"" then
set rs1=server.CreateObject("adodb.recordset")
sql1 = "select * from [user] where username=" & username
rs1.Open sql1,dataconn,3,3
if rs1.eof then
dataconn.execute "insert into user (username,pass,op) value('"&username&"','"&pass&"','"&op&"')"
else
if rs1("op")<>op then
dataconn.execute "insert into user (username,pass,op) value('"&username&"','"&pass&"','"&op&"')"
end if
end if
rs1.close
set rs1=nothing
'end if
response.redirect "classman.asp?class=" & classid
%>
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
这些够吗?
kaihua11 2003-10-17
  • 打赏
  • 举报
回复
原程序的部分内容是:
set rs1=server.CreateObject("adodb.recordset")
sql1 = "select * from [user] where username=" & username
rs1.Open sql1,dataconn,3,3
ceocio 2003-10-17
  • 打赏
  • 举报
回复
把相关的代码全部帖出来。

28,390

社区成员

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

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