发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

这个mysql数据库是不是崩溃了啊?请高手指点。

2003-07-26 00:27
赞助商链接

本人网站的开发环境是jdk1.4.0+win2000+resin+mysql3.23.X。程序中的boolean变量在数据库中全部采用pstmt.setBoolean()和rs.getBoolean()操作。在本地开发中,对于所有boolean变量如isOk在数据库中设置为enum('true','false')类型,所有操作成功。网站开发成功本地全部功能运行正常后依照本地的数据组织方式同样设置于网站的服务器上。其工作环境是jdk1.4+resin+win2000 advance server+mysql 3.23.43。令人疑惑的事情这时发生了:
客户端无论怎么设置,所从数据库中读取出来的值均为false,于是将isOk设置为int型,也不行。最后干脆弄成char型的,这样就读取正常咯。在数据中可以看出true对应的值是t,而false 对应的值是f。真是这样也就罢了,在将其它boolean字段也设置成char型的时候,我的天,现象依旧,无论如何读取出来的值都是false。可在观察数据库的时候如isGood,明明是t,却读出来的false。值得注意的是此时那个isOk操作正常。
我快要疯了!!!!!!!这到底上怎么回事情啊!!!!!!!!
令人气愤的是,网站服务器上的其他网站都工作正常。真是不知道发生了、什么事情。

2003-07-26 17:39

很同情你但是帮不了你,不要轻易怀疑数据库,检查一下数据操作吧,查询一下JDBC关于boolean的转换规则

2003-07-29 20:51

jdk中的db操作ResultSet.getBoolean()和PreparedStatement.setBoolean()从文档中来看在数据库中对应的是对BIT数据类型的存取,但在mysql是没有BTI类型的啊。该怎么办呢?似乎用Enum('true','false')和Byte以及char列类型都会出现存不进去取不出来的问题。

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com