在我的项目中,我希望使用选择框保存日期,该日期分别作为日,月,年分别阅读。使用的代码是
<%
String value=null;
String[] h=null;
h=request.getParameterValues("qns[]");
String expert=request.getParameter("expert");
int sday=Integer.parseInt(request.getParameter("sday"));
int smonth=Integer.parseInt(request.getParameter("smonth"));
int syear=Integer.parseInt(request.getParameter("syear"));
int eday=Integer.parseInt(request.getParameter("eday"));
int emonth=Integer.parseInt(request.getParameter("emonth"));
int eyear=Integer.parseInt(request.getParameter("eyear"));
String start=syear+"-"+smonth+"-"+sday;
String end=eyear+"-"+emonth+"-"+eday;
for(int i=0;i<h.length;i++)
{
s.savetask(h[1],expert,start,end);
}
%>
savetask函数是
public int savetask(String qnid,String userid,String start,String end)
{
int n=0;
try{
String sql="insert into task(user_id,question_id,start_date,end_date,status)values('"+qnid+"','"+userid+"','"+start+"','"+end+"',0";
n = db.modifyingQueries(sql);
}
catch(Exception e){
}
return n;
}
但它没有在表task
中插入值
任务的表格格式为
task_id int (Auto increment)
user_id int
question_id int
start_date date
end_date date
status int
答案 0 :(得分:0)
首先,你的sql行无效。最后给出了支架。
String sql="insert into task(user_id,question_id,start_date,end_date,status)values
('"+qnid+"','"+userid+"','"+start+"','"+end+"',0");
^
另外一个语法错误是"
之后不需要0
,因为它是int
(在更新列结构后实现)。
如果您面临更多异常,请提供堆栈跟踪。
更新(有助于解决问题的评论):
你需要做的是在String sql = ...
行之后,将System.out.println(sql)
放在控制台中打印query
。在该数据库查询管理器上点击该行并将其触发。请参阅任何语法错误。