PreparedStatement st = con.prepareStatement("update schedule set date='"+date+"',stime='"+stime+"',etime='"+etime+"',hall='"+hall+"',loc='"+loc+"' where dept='"+dept+"' and code='"+code+"' ");
st.setString(6,loc);
st.setString(7,hall);
st.setString(8,date);
st.setString(9,stime);
st.setString(10,etime);
st.executeUpdate();
fwd="success";
return(fwd)
它不会返回成功。代码中有问题吗?
答案 0 :(得分:2)
您需要使用占位符(?
)。这就是为什么你首先选择PreparedStatment
,以避免SQL注入。
PreparedStatement st = con.prepareStatement("update schedule set date = ? ..");
// st.setDate(paramIndex, value);
st.setDate(1, new Date()); // first index
同样,对于您想要设置的每个值,您需要放置占位符并相应地设置值。参数索引在1
处开始。
答案 1 :(得分:1)
试试这个。。您还要确保查询正确。我假设查询有效。
PreparedStatement st = con.prepareStatement("update schedule set date=?,stime=?,etime=?,hall=?,loc=? where dept=? and code=? ");
st.setString(1,date);
st.setString(2,stime);
st.setString(3,etime);
st.setString(4,hall);
st.setString(5,loc);
st.setString(6,date);
st.setString(7,code);
st.executeUpdate();
答案 2 :(得分:0)
PreparedStatement st = con.prepareStatement("update schedule set date='"+date+"',stime='"+stime+"',etime='"+etime+"',hall='"+hall+"',loc='"+loc+"' where dept='"+dept+"' and code='"+code+"' where scheduleId="+scId);
答案 3 :(得分:-1)
谢谢大家...
PreparedStatement st = con.prepareStatement("update schedule set date='"+date+"',stime='"+stime+"',etime='"+etime+"',hall='"+hall+"',loc='"+loc+"' where dept='"+dept+"' and code='"+code+"' ");
int result=st.executeUpdate();
if(result==1)
fwd="success";
else
fwd="fail";
return(fwd);