日期:2014-05-16  浏览次数:20899 次

大神们,有什么方法判断空值的数组不输入数据库
			dim str
str=trim(request.form("lamptype"))
set rs=server.CreateObject("adodb.recordset")
if request("id")="" then
rs.open "select * from light ",conn,1,3
rs.addnew
else
rs.open "select * from light where id="&request("id"),conn,1,3
if Session("adminid")=rs("issuer") then
rs("usefor")=trim(request.Form("usefor"))
rs("pictime")=date()
rs("lamptype")=split(str,",")(0)
rs("lpnumber")=split(str,",")(1)
rs.update
rs.close
end if
response.write "<script language='javascript'>"
response.write "alert('修改成功.');"
response.write "window.location.href='view.asp?id="&request.form("id")&"';"
response.write "</script>"

else
response.write "<script language='javascript'>"
response.write "alert('对不起,您无权修改!');"
response.write "window.location.href='javascript:history.go(-1)';"
response.write "</script>"
end if
end if


rs("lamptype")=split(str,",")(0)
rs("lpnumber")=split(str,",")(1)

这是修改原有数据的页面,碰到的问题是假如这个数组没有数据,提交的时候会把原有的数据覆盖掉,就是空的输入数据库,有什么方法判断 str 为空值时不用输入数据库
------解决方案--------------------
dim ss
ss=split(str,",")
if  UBound(ss) >0 then 
  
if  ss(0)<>"" then  rs("lamptype")=ss(0)
if  ss(1)<>"" then  rs("lpnumber")=ss(1)

end if
------解决方案--------------------
其实1楼给了你思路了,无非是执行之前做个判断

1、判断request.form("lamptype")是否为空
——无论request.form("lamptype")是不是数组

2、如果request.form("lamptype")不为空,判断是否为数组

3、如果request.form("lamptype")是数组,是否满足你的默认输入格式
——比如有2个逗号?或者3个逗号?

4、可以分别判断一下split(request.form("lamptype"),",")里面的各项内容是否为你要求的格式
——中文?英文?数字?
------解决方案--------------------
你 1楼代码 17行,应该少写了判断 成功 if 语句 了
------解决方案--------------------
我不知道你写程序的思路

我一般将检测语句放在最上面,就是那些if之类的

所有检测写完,再写数据库操作语句