注册 登录
编程论坛 ACCESS论坛

[求助]删除记录出现错误,请指教

laura0901 发布于 2006-11-15 13:31, 977 次点击

初来贵地, 还望多指教!!
遇到个比较棘手的问题,请看下面删除记录的语句:
set rsD=server.CreateObject("adodb.recordset")
if mulu_type="shenghuo" then
sqlD="delete * from shenghuo where Sno=CLng('" & request("num") & "')"
end if
if mulu_type="wuhou" then
sqlD="delete * from wuhou where Sno=CLng('" & request("num") & "')"
end if
if mulu_type="qinggan" then
sqlD="delete * from qinggan where Sno=CLng('" & request("num") & "')"
end if
if mulu_type="yishu" then
sqlD="delete * from yishu where Sno=CLng('" & request("num") & "')"
end if
if mulu_type="wuzi" then
sqlD="delete * from wuzi where Sno=CLng('" & request("num") & "')"
end if
* conn.execute(sqlD)
运行结果*号这句错误:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E0C)
没有为命令对象设置命令。

以上代码是经下面代码改造而来,在另外一个页面中如下代码能正常运行.
set rs_del=server.CreateObject("adodb.recordset")
sql_del="delete * from admin where Num=CLng('" & request("num") & "')"
conn.execute(sql_del)

请帮忙指出错误的原因,谢谢!!!


[此贴子已经被作者于2006-11-15 13:32:23编辑过]

2 回复
#2
laura09012006-11-15 20:04
act=request("act")
if act="delS" then
set rsD=server.CreateObject("adodb.recordset")
if mulu_type="shenghuo" then
sqlD="select * from shenghuo where Sno=CLng('" & request("num") & "')"
end if
if mulu_type="wuhou" then
sqlD="select * from wuhou where Sno=CLng('" & request("num") & "')"
end if
if mulu_type="qinggan" then
sqlD="select * from qinggan where Sno=CLng('" & request("num") & "')"
end if
if mulu_type="yishu" then
sqlD="select * from yishu where Sno=CLng('" & request("num") & "')"
end if
if mulu_type="wuzi" then
sqlD="select * from wuzi where Sno=CLng('" & request("num") & "')"
end if
rsD.open sqlD, conn, 3,3
rsD.delete
rsD.update
rsD.close
set rsD=nothing
conn.close
set conn=nothing
end if

换了种写法也错的~~~ 这次的错误是:参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
郁闷ing~~~


#3
laura09012006-11-15 20:42
终于弄出来了,原来第一次的代码真的没错.

忘了写: mulu_type=request("type"). (其实文档里有这个句话的,但是放在了另外一个选择条件里,没注意区别)

太粗心了,竟然因为这个折磨了我一天.

让大家见笑了~~~` 嘿嘿~~!

1