【问题标题】:Set boolean field on access db with pyodbc使用 pyodbc 在访问数据库上设置布尔字段
【发布时间】:2017-11-21 09:06:52
【问题描述】:

我将 pyodbc 与 Access DB 一起使用。

我可以使用这个命令在访问中添加一个布尔 (YES/NO) 列:

crsr.execute("alter table "+tableName+" add column {} {}".format(name, type))

现在我尝试使用这些命令修改我的字段,但它们不起作用:

crsr.execute( "update " + tableName +" set tutu='1' "  )
crsr.execute( "update " + tableName +" set tutu=1 "  )
crsr.execute( "update " + tableName +" set tutu=True "  )
crsr.execute( "update " + tableName +" set tutu='True' "  )
crsr.execute( "update " + tableName +" set tutu=true "  )

现在我正在使用具有 0 和 1 类似值的整数字段

你能帮我使用 bool 字段吗?

提前谢谢你

【问题讨论】:

    标签: ms-access pyodbc


    【解决方案1】:

    Access 以以下奇怪的方式对布尔值进行编码:

    True-1, False = 0

    请注意,我认为 tutu=True 不起作用的主要原因是缺少空格。

    您可以尝试以下方法:

    crsr.execute( "update " + tableName +" set tutu = True "  )
    

    或者

    crsr.execute( "update " + tableName +" set tutu = -1 "  )
    

    【讨论】:

    • 不,不是缺少空格。 set tutu=Trueset tutu=Falseset tutu=Yesset tutu=No 对于 Access 表中正确定义的 Yes/No 字段都可以正常工作,至少对于 ODBC 驱动程序的 Access 2010 版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多