求解:java与mysql连接是插入不进去,不执行executeupdate方法,下面为我的代码及错误

importjava.sql.Connection;importjava.sql.Date;importjava.sql.DriverManager;importjava... import java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;import java.sql.PreparedStatement;
import java.sql.SQLException;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;public class UserDao { public static Connection conn(){ Connection con=null; try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { con=DriverManager.getConnection( "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK", "root", "root"); } catch (SQLException e) { e.printStackTrace(); } return con; } public static Boolean insert(){ boolean ret = false; Connection con = conn(); PreparedStatement st = null; Calendar cd=Calendar.getInstance(); Date date = new Date(System.currentTimeMillis()); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { st = con.prepareStatement("insert into tb_counts(id,counts,last_ip,last_date) values((SELECT MAX(id) FROM tb_counts)+1,?,?,'"+dateFormat.format(date)+"')"); st.setInt(1,6); st.setString(2,"wer"); int i=st.executeUpdate(); if(i>0){ ret = true; }else{ ret=false; } } catch (SQLException e) { e.printStackTrace(); } return ret; }}
展开
 我来答
百度网友4b68195
2013-11-10 · TA获得超过1520个赞
知道大有可为答主
回答量:1773
采纳率:100%
帮助的人:1734万
展开全部
public static Boolean insert(){
boolean ret = false;
Connection con = conn();
PreparedStatement st = null;
Calendar cd=Calendar.getInstance();
Date date = new Date(System.currentTimeMillis());
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Statement stmt=con.createStatement();
ResultSet rst=stmt.excueteQuery(SELECT MAX(id) as id1 FROM tb_counts);
int i=rst.getInt("id1")+1;
rst.close();
stmt.close();
st = con.prepareStatement("insert into tb_counts(id,counts,last_ip,last_date) values(?,?,?,'"+dateFormat.format(date)+"')");
st.setInt(1,i);
st.setInt(2,6);
st.setString(3,"wer");
int i=st.executeUpdate();
if(i>0){
ret = true;
}else{
ret=false;
}
} catch (SQLException e) {
e.printStackTrace();
}
return ret;
}
ffggfly
2013-11-10 · TA获得超过353个赞
知道小有建树答主
回答量:663
采纳率:0%
帮助的人:377万
展开全部
你sql语句会写错了吗?
更多追问追答
追问
我觉得一点错误都没有啊!应该怎么检验他错没错啊?
追答
错误提示就是说,不能先select出同一表中的某些值,再update这个表

这个在mysql里面是不支持的oracle可以。你先把一张表取出来,然后再插进去就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式