您的位置:程序门 -> java -> 架构、设计



java preparedstatement的问题!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


java preparedstatement的问题!!
发表于:2007-12-27 23:19:08 楼主
今天部署以前的一套系统到另外的机器上去,   发现一个很怪异的现象:

原先用preparedstatement的地方都不能用了,   必须改成statement才行,  
回来写了个测试程序:
java code
string sql = "insert into report_info (`col1`, `col2`, `col4`, `col5`)"+ " values (?,?,?,?)"; pstmt = conn.preparestatement(sql); pstmt.setstring(1, "123456"); pstmt.setstring(2, "11223344556677889900"); pstmt.setint(3, 0); pstmt.setstring(4, "1227195400"); int i = pstmt.EXECuteupdate(); system.out.println("updated rows:"+i);


怪异的是,   这次能插进去了,   可是结果不对:
¦   col1       ¦                   col2                     ¦       col3             ¦       col4               ¦       col5       ¦       col6             ¦
¦                 ¦                                               ¦   null                 ¦                             ¦   50396416   ¦   null                 ¦
¦                 ¦                                               ¦   null                 ¦                             ¦   50396416   ¦   null                 ¦
¦                 ¦                                               ¦   null                 ¦                             ¦   50396416   ¦   null                 ¦

请教一下是什么问题?
发表于:2007-12-28 05:13:511楼 得分:0
看控制台输出啥?语句没发现啥问题

insert   into   report_info   (`col1`,   `col2`,   `col4`,   `col5`)"+

提示:没必要有单引号。
发表于:2007-12-28 11:01:392楼 得分:0
那个不是单引号,   那个是反引号,   标准mysql语句里边,   表名和字段名是要加上的(不加也没问题),   就像sql   server里边的[]一样,   问题不是在这里
发表于:2007-12-28 11:02:523楼 得分:0
preparedstatement控制台是不会输出赋值之后的语句的,   只会输出那个带问好的sql


快速检索

最新资讯
热门点击