在ASP中处理数据库的NULL记录

数据|数据库

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

   比较常见的NULL返回,对于字符串型返回空字符串,对各种于数值返回0值,对于逻辑值返回FALSE(假),对于日期

返回最早的日期

函数程序:
Function InitdataType(theDate,theReturnType)
 '返回或强制指示变量子类型的值。theDate 参数可以是任何变量。
 'theReturnType(整数型): 强制返回的数据类型 ,同VarType返回值定义的意义一样
 'theReturnType 如果忽略: 返回同theDate一样的数据类型.

 '下面引用的函数VarType(varname)会返回指示变量子类型的值。,varname 参数可以是任何变量。
 'VarType函数返回值的意义如下:
 'vbEmpty 0 Empty(未初始化)
 'vbNull  1 Null(无有效数据)
 'vbInteger 2 整数
 'vbLong  3 长整数
 'vbSingle 4 单精度浮点数
 'vbDouble 5 双精度浮点数
 'vbCurrency 6 货币
 'vbDate   7 日期
 'vbString  8 字符串
 'vbObject  9 Automation 对象
 'vbError  10 错误
 'vbBoolean  11 Boolean
 'vbVariant  12 Variant(只和变量数组一起使用)
 'vbDataObject 13 数据访问对象
 'vb????   14 小数
 'vbByte   17 字节
 'vbArray  8192 数组

 On Error Resume Next
 'Err.Clear
    dim n_dataType,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
     vo_renewdata=NULL
    case 2
     vo_renewdata=0
    case 3
     vo_renewdata=0
    case 4
     vo_renewdata=0
    case 5
     vo_renewdata=0
    case 6
     vo_renewdata=0
    case 7
     vo_renewdata=0
    case 8
     vo_renewdata=""
    case 11
     vo_renewdata=DEF_False
    case 14
     vo_renewdata=0
    case 17
     vo_renewdata=chr(0)
    case else
     vo_renewdata=theDate
   end Select
  else
   vo_renewdata=theDate
  end if
 else
  if isNumeric(theReturnType) then
   Select Case theReturnType
    case 0
     vo_renewdata=Empty
    case 1
     vo_renewdata=NULL
    case 2
     if isNumeric(theDate) then
      vo_renewdata=cInt(theDate)
     else
      vo_renewdata=Eval("0+" & theDate &"")
      if not isNumeric(vo_renewdata) then vo_renewdata=0
     end if
    case 3
     if isNumeric(theDate) then
      vo_renewdata=cLng(theDate)
     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(vo_renewdata) then vo_renewdata=0
     end if
    case 5
     if isNumeric(theDate) then
      vo_renewdata=cDbl(theDate)
     else
      vo_renewdata=Eval("0+" & theDate &"")
      if not isNumeric(vo_renewdata) then vo_renewdata=0
     end if
    case 6
  &nb

时间: 2024-12-31 16:39:31

在ASP中处理数据库的NULL记录的相关文章

解决在ASP中执行数据库查询中的特殊字符的问题

解决在ASP中执行数据库查询中的特殊字符的问题 在进行数据库的查询时,会经常遇到这样的情况: 例如想在一个用户数据库中查询他的用户名和他的密码,但恰好该用户使用的名字和密码中有特殊的字符,例如单引号,"|"号 双引号或者连字符"&". 例如他的名字是1'test,密码是A|&900 这时当你执行以下的查询语句时,肯定会报错: SQL = "SELECT * FROM SecurityLevel WHERE UID='" &

如何在ASP中使用数据库

  本篇教大家如何在ASP中使用数据库: ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库.通常都是和一个Access或者一个SQL数据库相连.因为Access是最容易起步的,同时,在你的机器上也许已经都装有Access了,所以,在下面的例子中,我们都将使用Access来做例子.一旦你学习了ASP和Access数据库连接的核心技术方法,当你开始使用SQL server的时候,你就会发现,两者所需要的关键技术是基本相同的. 当你要连接数据库的时候,你需要在服务器上将这个数据库打开.你可

ASP中处理数据库图像的方法

数据|数据库 ---- Active Server Pages (ASP) 是服务器端的脚本编写环境,您可用它来创建动态 Web 页或生成功能强大的 Web 应用程序,ASP 使这些工作变得十分简单.ASP 页是包括 HTML 标记.文本和脚本命令的文件.ASP 页可调用 ActiveX 组件来执行任务,例如连接到数据库或进行商务计算.通过 ASP,可为您的 Web 页添加交互内容或用 HTML 页构成整个 Web 应用程序,这些应用程序使用HTML页作为您的客户的界面. ---- 在我们使用A

asp中,数据库查询无法显示

问题描述 asp中,数据库查询无法显示 1C <%@ LANGUAGE=""VBSCRIPT"" %><!--#include file=""conn.asp""--><%Id=Session(""LoginSuccess"")set rs = Server.CreateObject(""ADODB.recordset"&quo

在ASP中使用数据库

数据|数据库 ASP有一个最重要的功能,就是它可以让你非常轻松地连接数据库.通常都是和一个Access或者一个SQL数据库相连.因为Access是最容易起步的,同时,在你的机器上也许已经都装有Access了,所以,在下面的例子中,我们都将使用Access来做例子.一旦你学习了ASP和Access数据库连接的核心技术方法,当你开始使用SQL server的时候,你就会发现,两者所需要的关键技术是基本相同的. 转自:中国软件网 www.csdn.com.cn当你要连接数据库的时候,你需要在服务器上将

Asp.net将数据库里的记录转换成json

在前面我已经写了asp的版本,最近一个项目中正好需要用json来填充下拉框,所以写了一个asp.net的将数据库里的记录转换成json,代码如下: 以下是引用片段: using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; namespace OTC.Utility ...{ public sealed class JSONH

ASP中优化数据库处理

ASP是一个Web服务器端的开发环境,它提供了一种简单易学的脚本(VBScript或Jscript),并带有许多内置的对象,从而提供了一条简捷的编程之路.更为重要的是,ASP中提供了ADO对象,让程序员可以轻松操作各种数据库,从而可以产生和运行动态的.交互的Web服务应用程序. 目前,国内很多电子商务站点都采用了ASP技术来与数据库交互,为用户提供各类服务. 由于电子商务站点的大部分信息都存放在数据库中,要提高Web的响应速度.建立高性能的电子商务站点,很大一部分取决于ASP与数据库之间的处理性

ASP中对数据库表的操作,可使用事务处理,并支持多事务处理

事务处理|数据|数据库 在ASP的数据库对象链接对象中,提供了一下属性: BeginTrans 事务开始 CommitTrans 事务提交 RollbackTrans 事务回滚 <% On Error Resume Next '错误发生后继续处理 'Asp中使用事务 Set conn=Server.CreateObject("ADODB.Connection") conn.Open "course_dsn","course_user",&q

在ASP中优化数据库处理的实现

数据|数据库|优化 ASP是一个Web服务器端的开发环境,它提供了一种简单易学的脚本(VBScript或Jscript),并带有许多内置的对象,从而提供了一条简捷的编程之路.更为重要的是,ASP中提供了ADO对象,让程序员可以轻松操作各种数据库,从而可以产生和运行动态的.交互的Web服务应用程序. 目前,国内很多电子商务站点都采用了ASP技术来与数据库交互,为用户提供各类服务. 由于电子商务站点的大部分信息都存放在数据库中,要提高Web的响应速度.建立高性能的电子商务站点,很大一部分取决于ASP