首页
关于我们
网站建设
经典案例
网络推广
技术中心
建站指导
联系我们
网站套餐 Package
最新推荐 Recommended  
  您现在的位置: 天诚世纪 >> 技术中心 >> 网站运营 >> 新手教程 >> 正文
DbUtils项目的一个问题
作者:天诚世纪 更新时间:2009-6-30 7:54:21 来源:天诚世纪
    

  注:DBUtils 是一套允许线程化 Python 程序可以安全和有效的访问数据库的模块。DBUtils已经作为 Webware for Python 一部分用来结合 PyGreSQL 访问 PostgreSQL 数据库,当然他也可以用在其他Python应用程序中来访问 DB-API 2 兼容的数据库接口。

  今天在写程序的时候发现了dbutils 的一个这样的问题,由于dbutils 在做表到对象的映射时要求列名和对象的属性名必须一致,例如列名是 userid ,那么属性名也必须是 userid ,但很多时候,我们在编写类的时候,希望能改个属性名,例如是 user 而不是 userid ,这个时候我们这样来写SQL 语句:

  SELECT userid AS user FROM osc_users

  然后你会发现根本无法读取到 userid 字段的值,找到了 dbutils 的源码发现它用的是 getColumnName 来获取表的列名,而这个方法对 SQL 语句通过 AS 来修改列名的就无效,在JDK文档中有这么一个方法:getColumnLabel ,该方法在 JDK文档中的描述如下:

  Gets the designated column's suggested title for use in printouts and displays. The suggested title is usually specified by the SQL AS clause. If a SQL AS is not specified, the value returned from getColumnLabel will be the same as the value returned by the getColumnName method.

  因此我们需要将 dbutils 中所有用到 getColumnName 的地方都改成 getColumnLabel 即可。

  本人已经修改好并打包,下载地址是:http://www.oschina.net/uploads/app/commons-dbutils-1.1.fixed.jar

       天诚世纪转载于此!

本文链接:http://www.tc-21.com/ITCenter/200906/20090630075421.html

  • 上一篇文章:
  • 下一篇文章:
  •   更多关于新手教程的新闻
      相关文章
    Excel 2007中自定义函数实例剖析
    站长经典语录集锦
    JS对WMP的操作
    什么是CI?CI是什么意思?
    什么是垂直型网站?
    首页友情链接最好添加20-30个
    百度为什么一直不收录我的站?
    创业新建网站,如何提高流量?