在ASP中处理数据库的NULL记录_第1页
在ASP中处理数据库的NULL记录_第2页
在ASP中处理数据库的NULL记录_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    在许多时候我们使用ASP+数据库进行网站编程的时候,会遇上读取某记录出来和另外一些变量进行运算的情况,如果取的记录数据为NULL值,那么可能会造成程序返回错误结果,如果每个读记录的语句后都加上判断语句,程序又显得拖沓,因此,我认为编写一个专用的函数对读取的记录进行自动或半自动识别是很好的办法。    根据VBscript的数据类型定义,结合利用VarType函数,构造以下自动处理函数InitdataType, 输入两个参数,要处理数据本身(theDate)和准备输出的数据类型(theReturnType,整

2、数型): theReturnType强制返回的数据类型 ,同VarType返回值定义的意义一样, 'theReturnType 如果忽略: 返回同theDate一样的数据类型.   比较常见的NULL返回,对于字符串型返回空字符串,对各种于数值返回0值,对于逻辑值返回FALSE(假),对于日期返回最早的日期函数程序:Function InitdataType(theDate,theReturnType) '返回或强制指示变量子类型的值。theDate 参数可以是任何变量。 'theReturnType(整数型): 强制返

3、回的数据类型 ,同VarType返回值定义的意义一样 'theReturnType 如果忽略: 返回同theDate一样的数据类型. '下面引用的函数VarType(varname)会返回指示变量子类型的值。,varname 参数可以是任何变量。 'VarType函数返回值的意义如下: 'vbEmpty 0 Empty(未初始化)  'vbNull  1 Null(无有效数据)  'vbInteger 2 整数  'vbLong&

4、#160; 3 长整数  'vbSingle 4 单精度浮点数  'vbDouble 5 双精度浮点数  'vbCurrency 6 货币  'vbDate   7 日期  'vbString  8 字符串  'vbObject  9 Automation 对象  'vbError  10 错误  'vbBoolean &#

5、160;11 Boolean  'vbVariant  12 Variant(只和变量数组一起使用)  'vbDataObject 13 数据访问对象  'vb?   14 小数  'vbByte   17 字节  'vbArray  8192 数组  On Error Resume Next 'Err.Clear    dim n_dat

6、aType,vo_ReData,vo_renewdata,c_TypeName    n_dataType = VarType(theDate) 'c_TypeName = TypeName(theDate) If n_dataType<2 then   if isNumeric(theReturnType) then   Select Case theReturnType    case 1    &

7、#160;vo_renewdata=NULL    case 2     vo_renewdata=0    case 3     vo_renewdata=0    case 4     vo_renewdata=0    case 5    &#

8、160;vo_renewdata=0    case 6     vo_renewdata=0    case 7     vo_renewdata=0    case 8     vo_renewdata=""    case 11   

9、  vo_renewdata=DEF_False    case 14     vo_renewdata=0    case 17     vo_renewdata=chr(0)    case else     vo_renewdata=theDate   end Select

10、  else   vo_renewdata=theDate  end if else  if isNumeric(theReturnType) then   Select Case theReturnType    case 0     vo_renewdata=Empty    case 1    

11、; vo_renewdata=NULL    case 2     if isNumeric(theDate) then       vo_renewdata=cInt(theDate)     else      vo_renewdata=Eval("0+" & theDate &"

12、;")       if not isNumeric(vo_renewdata) then vo_renewdata=0     end if    case 3     if isNumeric(theDate) then       vo_renewdata=cLng(theDate)   &#

13、160; else      vo_renewdata=Eval("0+" & theDate &"")       if not isNumeric(vo_renewdata) then vo_renewdata=0     end if    case 4     if isNumeric(theDate) then       vo_renewdata=cSng(theDate)     else      vo_renewdata=Eval("0+" & theDate &"")       if not isNumeric

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论