Microsoft VBScript 运行时错误 错误 '800a005e' 无效使用 Null: 'Split' /admin/News_Del.asp,行 118

'清空回收站SubClearRecyclebinsSql="SelectD_Recycle,D_SavePathFileNameFromNewsDataWhereD_Re... '清空回收站
Sub ClearRecyclebin
sSql="Select D_Recycle,D_SavePathFileName From NewsData Where D_Recycle=True"
oRs.Open sSql,oConn,0,1
Dim sSavePathFileName,aSavePathFileName,i
If Not oRs.Eof Then
Do While Not oRs.Eof
sSavePathFileName = oRs("D_SavePathFileName")
' 把带"|"的字符串转为数组
aSavePathFileName = Split(sSavePathFileName, "|")
' 删除新闻相关的文件,从文件夹中
For i = 0 To UBound(aSavePathFileName)
' 按路径文件名删除文件
Call DoDelFile(aSavePathFileName(i))
Next
oRs.MoveNext
Loop
Else
GoError "无效的新闻ID,请点页面上的链接进行操作!"
End If
oRs.Close
sSql = "DELETE FROM NewsData WHERE D_Recycle=true"
oConn.Execute sSql
response.write "<p align=center>清除回收站成功,3秒后自动返回新闻回收站列表页!<script>window.setTimeout(""location.href='News_Recycle.asp'"",3000);</script></p>"
End Sub
'还原选定新闻
Sub Restore()
if sNewsID="" then
founderr=true
errmsg=errmsg & "<br><li>请您选择要删除的新闻!!</li>"
end if
if FoundErr=True then
exit sub
end if
sSql="Select D_Recycle From NewsData Where D_ID in ("& sNewsID &")"
oRs.Open sSql,oConn,1,3
If Not oRs.Eof Then
Do While Not oRs.Eof
oRs("D_Recycle")=False
oRs.Update
oRs.MoveNext
Loop
Else
GoError "无效的新闻ID,请点页面上的链接进行操作!"
End If
oRs.Close
response.write "<p align=center>选定新闻还原成功,3秒后自动返回新闻回收站列表页!<script>window.setTimeout(""location.href='News_Recycle.asp'"",3000);</script></p>"
End Sub
'还原所有新闻
Sub RestoreAll()
sSql="Select D_Recycle From NewsData Where D_Recycle=True"
oRs.Open sSql,oConn,1,3
If Not oRs.Eof Then
Do While Not oRs.Eof
oRs("D_Recycle")=False
oRs.Update
oRs.MoveNext
Loop
Else
GoError "无效的新闻ID,请点页面上的链接进行操作!"
End If
oRs.Close
response.write "<p align=center>还原所有新闻成功,3秒后自动返回新闻回收站列表页!<script>window.setTimeout(""location.href='News_Recycle.asp'"",3000);</script></p>"
End Sub
请帮我看下这段哪里有问题,要怎么改谢谢!
清空回收站Sub ClearRecyclebin
sSql="Select D_Recycle,D_SavePathFileName From NewsData Where D_Recycle=True"
oRs.Open sSql,oConn,0,1
Dim sSavePathFileName,aSavePathFileName,i
If Not oRs.Eof Then
Do While Not oRs.Eof
sSavePathFileName = oRs("D_SavePathFileName")
' 把带"|"的字符串转为数组
aSavePathFileName = Split(sSavePathFileName, "|") //提示这里出
现错误 ' 删除新闻相关的文件,从文件夹中 For i = 0 To UBound(aSavePathFileName)
' 按路径文件名删除文件
Call DoDelFile(aSavePathFileName(i))
Next
oRs.MoveNext
Loop
Else
GoError "无效的新闻ID,请点页面上的链接进行操作!"
End If
oRs.Close

sSql = "DELETE FROM NewsData WHERE D_Recycle=true" oConn.Execute sSql
response.write "<p align=center>清除回收站成功,3秒后自动返回新闻回收站列表页!<script>window.setTimeout(""location.href='News_Recycle.asp'"",3000);</script></p>"

End Sub
展开
 我来答
网海1书生
科技发烧友

2013-04-20 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
aSavePathFileName = Split(sSavePathFileName, "|")

改为
aSavePathFileName = Split(sSavePathFileName & "", "|")

当数据库当前记录的D_SavePathFileName字段内容为Null(注意不是空,Null的意思表示未输入任何数据)时用Split函数就会出现“无效使用 Null”的提示了,把它和一个空字符串连接一下就行了。不过这么做虽然不会出错了,但没有实际意义,因为空字符串表示没有任何文件要删除。合理的做法是在Split前先判断一下sSavePathFileName是否为Null(用IsNull函数)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式