首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

还是数据库的有关问题

2012-01-18 
还是数据库的问题java.sql.SQLSyntaxErrorException: 不支持“INTEGER”与“CHAR (UCS_BASIC)”之间的比较。类

还是数据库的问题
java.sql.SQLSyntaxErrorException: 不支持“INTEGER”与“CHAR (UCS_BASIC)”之间的比较。类型必须可比较。此外,字符串类型必须具有匹配的对照顺序。如果对照顺序不匹配,一种可能的解决方案是:强制转换操作数以强制使其使用缺省对照顺序(例如 SELECT tablename FROM sys.systables WHERE CAST(tablename AS VARCHAR(128)) = 'T1')
这个错误按照自己的水平实在改不了了(忙活了半天了),请各位大虾指教指教
 String sql = "UPDATE app.BOOK SET BOOK_NAME='" + book.getBOOK_NAME()
  + "',BOOK_INTRO='" + book.getBOOK_INTRO() + "',BOOK_PRICE='"
  + book.getBOOK_PRICE() + "', TYPE_ID_FK='" + book.getTYPE_ID_FK()
  + "',PUB_ID_FK='" + book.getPUB_ID_FK() + "',IMAGE_URL='"
  + book.getIMAGE_URL() + "',reperiory_size = '" + book.getREPERTORY_SIZE()
  + "', AUTHOR='" + book.getAUTHOR()
  + "' WHERE ID='" + book.getID() 
  + "'";
BOOK表中ID的类型为Integer

[解决办法]
+ "' WHERE ID='" + book.getID() + "'";

// 这里就不用加引号了呀
 + "' WHERE ID=" + book.getID() + "";
[解决办法]
看表, 有哪些地方是唯一的, 
还有, 你那表有外键, 把两表一起删了再重新建下试试,

热点排行