2011年3月17日
摘要: 症状:使用MySqlClient访问tinyint unsign 字段返回布尔值 true 和 false,但是实际上该字段存储值为1-255分析:由于在Mysql中没有布尔类型值,MySqlClient在访问tinyint类型字段时默认作为布尔值使用。解决:1.在连接串中增加 Treat Tiny As Boolean=false 配置.2.对应字段在SQL语句中*1,这样,读取出的字段值默认会被转换成int类型.相关资料: 根据官方文档 10.1.1. Overview of Numeric Types ,在 MySql 中还没有严格的 bool 类型,但使用 TINYINT(1) 隐式用 阅读全文
posted @ 2011-03-17 12:37 红叶林 阅读(1038) 评论(0) 推荐(0) 编辑
摘要: 最近做一个数据库初始化工具的时候发现了这个问题,就是在一个Statement中执行一条SQL语句的时候可以正确执行,如果同时执行多条,就会报SQL语法错误,伤透了脑筋。 经过网上查找,发现有两种解决办法: 1、最简单的办法,在MySQL的连接字符串中设置allowMultiQueries参数置为true。 2、在程序中对SQL语句以分号拆分成多条SQL语句,然后使用Statement的addBatch方法,最后executeBatch就行。 结论:第一种方式最简单。 注意仅限于JDBC,希望对以后遇到此类问题的朋友有所帮助。 阅读全文
posted @ 2011-03-17 12:34 红叶林 阅读(1630) 评论(0) 推荐(0) 编辑