CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

请问VBSCRIPT的isnull函数为什么怪怪的

楼主FivePuzzle(五迷)2002-02-28 14:14:15 在 Web 开发 / ASP 提问

当然也可能是ACCESS怪怪的,可是明明一个公司的产品,不应该不兼容呀!  
   
  表单中字段A没有任何输入,保存到数据库时我在ASP里检查了一下:  
          if     request("xqdNo")=""     then     response.write     "xqdno是空串<     br>     "  
          if     isnull(request("xqdNo"))     then     response.write     "xqdno     isnull<     br>     "  
      显示“xqdno是空串”。就是说vbscript的isnull函数认为表单域没有输入值是""  
      然后就没有特殊处理,和有内容的字段一样直接保存了。  
   
      但当我查询这个字段的时候问题来了,如果用     字段=""的条件就查不到结果,一定要用  
      isnull(字段)。这是怎么回事呢?  
  一个vbscript眼中的""变成了access中的null  
       
      这和access中字段定义的那些“必填字段”,“允许空字符串”的选项有关系吗?  
       
      我希望是输入的时候空和非空一样对待,查询的时候也是空和非空一样,不用判断。  
      请指点,谢谢! 问题点数:30、回复次数:8Top

1 楼blow_jj(阿俊)回复于 2002-02-28 14:24:12 得分 15

你用request("xqdNo")等于是把变量xqdNo初始化了,没有得到值是""(这一点从GWBasic看是就这样),而用select查询则不同,继承了SQL的语法,没有就是Null.Top

2 楼FivePuzzle(五迷)回复于 2002-02-28 15:52:22 得分 0

我有点似懂非懂。  
  既然用request("xqdno")已经初始化得到""值,那保存到数据库的时候不就应该按照""保存而不是认为null吗?  
  您是说数据库中保存的仍然是一个null值吗?  
  如果是这样就还是我迷惑的地方啊!  
   
  我改用这样的方法:  
  if   request("xqdno")=""   then  
      rs("xqdno")=""  
  (虽然request("xqdno")="",但是一定要赋值"",不能赋值request("xqdno")  
  else  
      rs("xqdno")=request("xqdno")就可以了,数据库中保存了""  
  但是这样我觉得本身就不合逻辑:-(  
   
  Top

3 楼lanying(蓝鹰)(问个不休)回复于 2002-02-28 19:42:49 得分 5

应该用IsEmpty  
  Top

4 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-02-28 20:31:05 得分 5

Null是“非法值”  
  Empty代表0或者空串Top

5 楼ksy(一定要争气)回复于 2002-02-28 20:41:28 得分 5

楼上的有道理Top

6 楼blow_jj(阿俊)回复于 2002-02-28 20:52:45 得分 0

初始化了不就是代表0或者空串  
  真抠门...Top

7 楼blow_jj(阿俊)回复于 2002-02-28 20:55:51 得分 0

request得不到的变量写入数据库应该是null,从数据库里得出的值没有""这东东(我的水平不高,不一定合乎概念,自己理解...)Top

8 楼FivePuzzle(五迷)回复于 2002-03-06 10:29:18 得分 0

前几天出差了没顾上,虽然我觉得没有人回答为什么  
      if     request("xqdno")=""     then  
              rs("xqdno")=""  
      else  
              rs("xqdno")=request("xqdno")  
  就可以在数据库中保存"",直接赋值""就变成null(不是从数据库里得出的值没有""),不过大家这么热心,非常感谢。分不多,表示感谢而已!Top

相关问题

  • 为什么自己写的DLL的输出函数名字总是怪怪的?
  • 关于isnull()函数
  • 请问一个vbscript函数?
  • 关于vbscript的left函数
  • vbscript的函数重载??
  • 怪怪的!
  • 能不能在javascript函数中调用vbscript函数亚
  • isnull函数问题……(郁闷中)
  • IsNull()和IsEmpty()函数有什么区别?
  • VBscript中不能使用Format函数吗?

关键词

  • 字段
  • 数据库
  • 查询
  • null
  • xqdno
  • 空串
  • 保存
  • 赋值
  • isnull
  • 初始化

得分解答快速导航

  • 帖主:FivePuzzle
  • blow_jj
  • lanying
  • julyclyde
  • ksy

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo