JSP操作mysql的SQL语句

......................
try{
Statement st=getStatement();
String name=request.getParameter("name");
String sex=request.getParameter("sex");
String age=request.getParameter("age");
switch(type){
case 0:
rs=st.executeQuery("select * from t1");
break;
......................
case 4:
name=new String(name.getBytes("ISO-8859-1"));
sex=new String(sex.getBytes("ISO-8859-1"));

String sql="update t1 set sex='"+sex+"',age='"+age+"' where name='"+name+"'";
st.executeQuery(sql);
response.sendRedirect("friend.jsp");
break;
.......................

这一条语句不能实现:String sql="update t1 set sex='"+sex+"',age='"+age+"' where name='"+name+"'";
即修改功能不能实现!报错为:java.sql.SQLException: Can not issue data manipulation statements with executeQuery().

就是嘛,除了查询是executeQuery,更新,插入,删除都是executeUpdate

你那一句是update语句。

应该 st.executeUpdate(sql);

[code="java"]
public boolean update(String sql) throws Exception{
int bool = 0;
Connection conn = null;
try{
conn = getConnection();
if(conn!=null){
PreparedStatement prstmt = conn.prepareStatement(sql);
bool = prstmt.executeUpdate();
prstmt.close();
conn.close();
}
}catch(Exception e){
if(conn!=null){
conn.close();

}
e.printStackTrace();
}
return bool==0?false:true;
}
[/code]