public static void update(int flag,int userid,int storeid,String adminu){
//更改数据库中的信息 使申请人的状态更改为 管理员 
Connection conn=null;
PreparedStatement pst=null;
ResultSet rst=null;
conn=baseDao.getConnection();
Format formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar cal=Calendar.getInstance(); 
String time=formatter.format(cal.getTime());
String sql="";
try {
sql="update sqmanager set sqtype=? where store_id=? and user_id=?";
pst=conn.prepareStatement(sql);
pst.setInt(1,flag);
pst.setInt(2,storeid);
pst.setInt(3,userid);
int num=pst.executeUpdate();
if(flag==1&&num>0){
//更改店域表中的 管理员 
sql="update cd_store set adminManager =? ,adminu=? where id=?";
System.out.println("执行了吗。。");
pst=conn.prepareStatement(sql);
pst.setInt(1,userid);
pst.setString(2,adminu);
pst.setInt(3,storeid);
System.out.println(userid+"*********"+adminu+"*********"+storeid);
int number=pst.executeUpdate();
if(number>0){
System.out.println("管理员通过成功!!!!!");
}
}

} catch (SQLException e) {
e.printStackTrace();
}finally {
baseDao.CloseAllCon(conn,pst,rst);
}
}

解决方案 »

  1.   

    第一个sql 能修改数据,而第二个sql 怎么就不能修改数据了呢,,郁闷啊,求大伙给看下 哪个地方出错了,感激不尽
      

  2.   

    sql="update cd_store set adminManager =? ,adminu=? where id=?";
    把?换成你的参数值 ,到sql里面执行一下,看有没有结果。
      

  3.   

    sql="update cd_store set adminManager =? ,adminu=? where id=?";
    你指示的位置不明确,所以无法索引到你要修改的那一行,应该明确一个id或者其他信息的
      

  4.   

    update cd_store set adminManager =? ,adminu=? where id=?
    1.在你的数据库里面执行以下看有没有什么异常2.如果没有异常再来看你的参数传递是否正确3.最好把你的这段代码try catch以下,把异常打印出来。
      

  5.   

    你的代码有没有catch到错误的堆栈信息?如果有错误的话,把错误信息贴出来看看。另外我发现你的代码有个很严重的问题啊,你好像要做事务控制,但是你没有设置connection.setAutoCommit(false),你这样是无法控制事务的