4 回答

TA貢獻1829條經驗 獲得超9個贊
當第一個不滿足時,是跳到下一條記錄了,但是你的ware_no依然獲得是第一條記錄的值,所以有可能所有的都顯示出來。
我覺得你的思路可以改一下。
如:
flag=false
strErr=""
if Len(ware_no)<>6 then
flag=true
strErr=strErr&"導入錯誤:第"&H&"記錄的軟件序號"&ware_no&"位數不正確!<br>"
end if
if isnumeric(ware_no)=flase then
flag=true
strErr=strErr&"導入錯誤:第"&H&"記錄的軟件序號"&ware_no&"不是純數字!<br>"
end if
if Len(glbm)<>20 then
flag=true
strErr=strErr&"導入錯誤:第"&H&"記錄的微機管理編碼"&glbm&"位數不正確!<br>"
end if
if flag then
response.write strErr
rs.movenext
end if
不知道對于你的思路有沒有幫助!

TA貢獻1788條經驗 獲得超4個贊
把
if isnumeric(ware_no)=flase then
Response.Write"導入錯誤:第"&H&"記錄的軟件序號"&ware_no&"不是純數字!<br>"
rs.MoveNext
end if
刪除,看輸出結果再分析下,
如果不行,就強制聲明ware_no的數據類型,保護數據原型

TA貢獻1839條經驗 獲得超15個贊
不知道你想怎么樣,是不是想達到這樣目的?
do while not rs.eof
h=h+1
k1=h&l1
k2=h&l2
k3=h&l3
k4=h&l4
k5=h&l5
k6=h&l6
ware_no=Trim(request.Form(k1))
glbm=Trim(request.Form(k2))
fullname=Trim(request.Form(k3))
people=request.Form(k4)
phone=request.Form(k5)
address=request.Form(k6)
'判斷軟件序號長度及是否是數字
if Len(ware_no)<>6 then
Response.Write"導入錯誤:第"&H&"記錄的軟件序號"&ware_no&"位數不正確!<br>"
elseif isnumeric(ware_no)=flase then
Response.Write"導入錯誤:第"&H&"記錄的軟件序號"&ware_no&"不是純數字!<br>"
elseif Len(glbm)<>20 then
Response.Write"導入錯誤:第"&H&"記錄的微機管理編碼"&glbm&"位數不正確!<br>"
end if
rs.MoveNext
Loop
添加回答
舉報