人民不應該懼怕他們的政府,政府應該要懼怕他們的人民

asp中null和=""的區別及數據庫空值探討

上一篇 / 下一篇  2009-04-25 10:48:17 / 個人分類:IIS/Asp/NET/Web Design

_K P c#n)[;U0asp中null和=""的区别|数据库空值房市家 大社區.SV!T]Eg'gFJ.~5{

J-u[f](Zxy*Q0在ASP中我们会碰到从数据库中是个null值,而我们取出来后,在asp中通过len()判断,是否=""来判断均会出错的情况.

A*B-bOioTbJ0 房市家 大社區9z%W6kJKW&Y|f

还有如下面这个问题: isnull(rs("id"))     isempty(rs("id"))     rs("id")=""    有什么区别?? 房市家 大社區A^]&i n+j

:v!H9I6]4P5MP0这是来自百度知道里的一个回答: http://zhidao.baidu.com/question/78648568.html

1o OJx6g3J\HC`0

^5@lmB)l9~0在数据库中存在这样的数据: 取出的内容什么也没有,在数据库中没有填写任何东西,这时取出的值当然是空值。有一个情况是数据库中的值本身就是空值null,也就是说VB,C#和SQL中都存一种数据形式是null的。严格的区别这在这儿。房市家 大社區 uQ%Y ^;Ss eE

房市家 大社區t r PP\/pJ

isnull是VB中的一种判断,判断取出的值是否是null,当然在SQL中也有这种形式的谓词,is null,这个谓词可以直接用在SQL语句中。如:
1~Y2dq5o8I0select * from 表名 where 列名 is null 房市家 大社區V"|z(j k8`Vo
表示查询特定列为null的记录。这时如果在数据库中该列定义为允许空,而没有填写任何东西的则不会出现。
J5kXV4^0说白了,在VB中isnull做为一个函数来判断SQL中是否传递了null型的值。VB中也存在这种类型的! 房市家 大社區mZ+p~#vjCi2J7c/_
房市家 大社區5l&a.`&U_4n6gL
isEmpty则是不同的,它的作用是判断字符串是否为空!当然同时也会判断VB中null值的类型,但需要说明的一点是Null值还要涉及一个问题,它是SQL中的类型还是VB另的类型,虽说名称一样,但实际是不同的。
;X&jK rw"Rp t0如果在VB中使用了这样的一句话: 房市家 大社區H0P(x` ap.Uz7r8EL
dimm str as string
V$f{4k1nj0而还没有对str进行赋值时,它是不存在的!此时在VB中str值的类型就是空值,可以用isnull和isEmpty进行测试。 房市家 大社區Ik5V"uT
房市家 大社區Sg [IXfb;oe9Z
这说明了它与=""的不同之处,=""则表示为“空值”,它的意义在于变量有值,值是存在的,只不过是一个空字符串,也是对字符串进行的一种测试,但是如果 我只定义了某一个变量,此时就对其进行=""是不合适的。如:
*\~"b`CV0L g0dimm str as string
)md |:L/j8F*C}W+_"@0str = ""
VA Juq#| UdG m6D0这样会出现错误。但使用isEmpty则不会出错。 房市家 大社區 R xE sW9z"{

p3S%Vs#F9E1M0p0所以说三者的区别就是: 房市家 大社區4L/[ WvLH4]
isnull是一种类型测试,测试是否为空值(null)类型。
d,]MjaYhX0isEmpty是一种值测试,测试是否是空值。但这个不同语言中采用的方法不同。 房市家 大社區TT'o'Px
=""是串测试,测试值是否为空值。
&jao([P wC0房市家 大社區#w)FP:k(Y9S
说一个isEmpty吧,在有些语言中isEmpty是一种空值测试,它可以测试以下内容: 房市家 大社區.P4G$J)X$B$E7C8v

/^P)vPpHG6XZ2^0dim str as string
a k*k3{M~7v?FN0isEmpty(str)=True 房市家 大社區E]IS0N;fV0D0m
房市家 大社區?s*t1mv@
str = ""
/|Zuo3`*R0M0isEmpty(str)=True 房市家 大社區5[ ~-Ih!x"A
房市家 大社區w1]:b _;FXeI
str = null
y*?']!~n b%f[0isEmpty(str)=True 房市家 大社區i1}"q}p/VFx}lv

{SZe&Cp:S:]`0dim str as integer
rZ,JEo"S.N/Af0str = 0
M!V%Z;Z+WY[(KPF7q h-[0isEmpty(str) = True 房市家 大社區0]3n]+PyG&n

:o`Nr"U j GQ1O0也就是部分语言中把数据中的0,字符中的空串,NULL值都作为空值的测试范畴。
S|0E6FW*hE3AU S0房市家 大社區8[5s(\~+E0fEI.N
但在C#等语言中的要求比较严格,VB中要求也不是很严格的。这里只要了解一个特殊的类型null类型,它的类当然也是null。同时有些语言上还有一种未定义型: 房市家 大社區@2Qqu0o*_ Z
undefined类型,如在C#中:
J7}k-c?3Qy0string str ; 房市家 大社區V D;X-yXpQ.c;q
则string只有这一个的定义,所以它的值还没有真正被定义,此时它就是undefined类型的。这种类型常存在于C族语言和类C族如ECMAScript族(javascript等)及Java中! 房市家 大社區 {7h |@[#] ~

Zx F~e9~0先了解一下数据的类型对你有帮助的!但各语言有不同的约定,这一点要注意一下!房市家 大社區V$N7@#e ^a[ a


成人圖片區   080視訊聊天室   成人圖片   成人影片   A片下載   伊莉討論區   色情小說   成人文章   85cc成人片   視訊做愛   色情網站   85cc免費影片   85cc免費影片   色情遊戲   情色貼圖   情色視訊   18禁   嘟嘟情人色網   成人文章   85cc成人片   情色自拍   色情遊戲   性感影片   情色論壇   plus論壇   成人文學   視訊美女   色情遊戲   美女   伊莉討論區   85cc免費影片   走光   A片下載   色情小說   85cc成人片   性愛自拍   聊天室ut   性愛自拍   美女寫真   視訊做愛   成人短片   色情遊戲   色情遊戲   聊天室ut   自拍   免費視訊   臺灣情色網   成人圖片區   維克斯論壇   戀愛ING 

TAG: asp

 

評分:0

我來說兩句

顯示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

隨意部落格 - 異界部落格

好玩遊戲區   色情遊戲   言情小說   嘟嘟情人色網   性感影片   臺灣情色網   成人貼圖   視訊聊天   成人圖片區   kk俱樂部   徵信公司   免費成人影片   情色論壇   台灣論壇   抓姦   正妹   成人漫畫   女優   抓姦   一葉情貼圖片區   成人網站   中部人聊天室   色情漫畫   成人電影   成人小說   徵信社   18成人   情色   成人貼圖   色情漫畫   自拍   情色貼圖   成人聊天室   成人影城   A片下載   a片   成人文學   色情影片   成人文學   色情   情色視訊聊天室   成人短片   情色論壇   自拍   無碼   免費影片   免費視訊聊天   080苗栗人聊天室   免費成人影片   成人影城 
Open Toolbar