求会asp编程的大虾一个问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 18:40:05
Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配: 'Cint'
/qq/ReadNews.asp, 第 7 行
HTTP 错误 500.100 - 内部服务器错误 - ASP 错误
Internet 信息服务
开始用时没事后来我加了文章分页代码后就老是提示出错怎么解决啊!
<%
Dim Rs1__intNewsID
Rs1__intNewsID = "1"
If (Cint(Trim(Request.QueryString("NewsID"))) <> "") Then
Rs1__intNewsID = Cint(Trim(Request.QueryString("NewsID")))
End If
%>
回答的两位我不是已经先设他为1了吗?不存在空的问题了而且intnewsid是强制转换了啊!

<%
Dim Rs1__intNewsID
Rs1__intNewsID = "1"
If (Cint(Trim(Request.QueryString("NewsID"))) <> "") Then
Rs1__intNewsID = Cint(Trim(Request.QueryString("NewsID")))
End If
%>

回答的两位我不是已经先设他为1了吗?
答:你是设Rs1__intNewsID为1,不是设
Trim(Request.QueryString("NewsID")))为1,所以当Trim(Request.QueryString("NewsID"))为空时会出错!

Cint(变量K)

当变量K为空的时候会出错的。
你这样写:
<%Dim Rs1__intNewsID
Rs1__intNewsID=request.QueryString("NewsID")
if Rs1__intNewsID="" or not(isnumeric(Rs1__intNewsID)) then
Rs1__intNewsID=1
end if
Rs1__intNewsID=Cint(Rs1__intNewsID)
%>

你这样写,如果Request.QueryString("NewsID")为空或非数字型的内容
那么用Cint都会有错误,正确的检测和转换写法为:

<%
Dim Rs1__intNewsID
if isnumeric(trim(Request.QueryString("NewsID"))) then
Rs1__intNewsID = Cint(Trim(Request.QueryString(&