JSP中sql语句的查询问题,求高手指教!!!!
今天编写jsp的sql语句的时候总是出现类型不匹配的错误,下面是源代码,日志报错总是在i=stmt.executeUpdate(sql);处intmaxid=1;Stri...
今天编写jsp的sql语句的时候总是出现类型不匹配的错误,下面是源代码,日志报错总是在i=stmt.executeUpdate(sql);处
int maxid = 1;
String sql = "select max(item_id) as maxid from bbsitems";
// ´´½¨Êý¾Ý¼Ç¼¼¯¶ÔÏó£º
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
maxid = rs.getInt(1) + 1;
}
// sqlÓï¾ä£º
sql = "insert into bbsitems(item_id,item_title,item_content,author,"
+ "compose_date,is_origional,fathers_id,replyed_times,browsed_times,"
+ "latest_replication_id,modify_date,face) values('"
+ maxid
+ "','"
+ msg.getItem_title()
+ "','"
+ msg.getItem_content()
+ "','"
+ msg.getAuthor()
+ "','"
+ msg.getStrCompose_date()
+ "','1','"
+ maxid
+ "','0','0','" + maxid + "','','" + msg.getFace() + "')";
System.out.println(sql);
sql = new String(sql.getBytes("ISO8859-1"), "UTF-8");
System.out.println(sql);
// Ö´ÐÐsqlÓï¾ä£º
int i= stmt.executeUpdate(sql);
return i;
} catch (SQLException sqlExc) {
sqlExc.printStackTrace();
return -3;
}
那个i到底应该定义为什么类型的啊!!!??? 展开
int maxid = 1;
String sql = "select max(item_id) as maxid from bbsitems";
// ´´½¨Êý¾Ý¼Ç¼¼¯¶ÔÏó£º
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
if (rs.next()) {
maxid = rs.getInt(1) + 1;
}
// sqlÓï¾ä£º
sql = "insert into bbsitems(item_id,item_title,item_content,author,"
+ "compose_date,is_origional,fathers_id,replyed_times,browsed_times,"
+ "latest_replication_id,modify_date,face) values('"
+ maxid
+ "','"
+ msg.getItem_title()
+ "','"
+ msg.getItem_content()
+ "','"
+ msg.getAuthor()
+ "','"
+ msg.getStrCompose_date()
+ "','1','"
+ maxid
+ "','0','0','" + maxid + "','','" + msg.getFace() + "')";
System.out.println(sql);
sql = new String(sql.getBytes("ISO8859-1"), "UTF-8");
System.out.println(sql);
// Ö´ÐÐsqlÓï¾ä£º
int i= stmt.executeUpdate(sql);
return i;
} catch (SQLException sqlExc) {
sqlExc.printStackTrace();
return -3;
}
那个i到底应该定义为什么类型的啊!!!??? 展开
4个回答
展开全部
the error comes maxid assign to item_id, I assume your item_id is integer, but you add single quato around it
'"+ maxid+ "','"
Change it to
values("
+ maxid
+ ",'"
'"+ maxid+ "','"
Change it to
values("
+ maxid
+ ",'"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我就奇怪了,分明是插入语句,哪来的返回值啊?
int i= stmt.executeUpdate(sql);
return i;直接改为
stmt.executeUpdate(sql);试试
int i= stmt.executeUpdate(sql);
return i;直接改为
stmt.executeUpdate(sql);试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
stmt.executeUpdate(sql)不是结果集吗?所以i不是int型,而是Resultset i=stmt.executeUpdate
(sql);return i;
(sql);return i;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询