网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:八神苍月之Sybase鏖战篇 下一篇:用COM自动服务扩展SQL Server功能
关于BIT/BOOLEAN字段的小见解

来源: 作者: 添加日期:2005-9-4 19:19:56 点击次数:
  • 在查询时怎么处理BIT / BOOLEAN字段?

    1.在Access中可以用下面的查询语句:
    SELECT field FROM table WHERE boolField=TRUE
    -- or
    SELECT field FROM table WHERE boolField=FALSE
    2.这两条语句在SQL Server中通不过,所以要改成下面的形式:
    SELECT field FROM table WHERE bitField=1
    -- or
    SELECT field FROM table WHERE bitField=0
    3.令人烦恼的是上面这两条语句在Access中也会出问题,因为Access把-1当作True,而不是1。在搞清楚了这个问题后,我们可以写出在两种环境中都能运行的查询语句:
    SELECT field FROM table WHERE bitField<>0
    -- or
    SELECT field FROM table WHERE bitField=0

    -- to update (Access will convert to -1):
    UPDATE table SET bitField=1
    --or
    UPDATE table SET bitField=0
    还有,如果你用checkboxes插入,修改或显示数据必须把”ON” or “”转化成1 or 0。当你要重新checkboxes的属性时,又不得不把1 or 0(True or False)转化成”checked”…
    看一下这么例子就知道怎么做了:
    page1.asp:






    page2.asp:

    <%
    bitValue = 0
    bool = request.form("bool")
    if bool = "on" then bitValue=1
    sql = "UPDATE table SET bitField=" & bitValue
    ' ...
    %>

    page3.asp:

    <%
    ' 省略数据连接部分
    set rs = conn.execute("SELECT bitField FROM table")
    ch=""
    bitValue = rs(0)
    if bitValue then ch=" CHECKED"
    ‘or if bitValue<>0 then ch=" CHECKED"
    %>

    >

  •  
    设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |