谁帮我解决一下啊,这条sql语句在往mysql数据库中执行时出错。 单独直接在数据库中是对的。
publicintgetCountIn(){intcount=0;Stringsql="selectsum(inOutMoney)numfrominOutInfowher...
public int getCountIn() {
int count=0;
String sql="select sum(inOutMoney) num from inOutInfo where " +
"between date_add(date_add(last_day(?),interval 1 day)," +
"interval -1 month) and last_day(?) and info='收入'";
try {
Connection conn=DbpoolUtil.getConnection();
PreparedStatement stmt=conn.prepareStatement(sql);
Date d1=new Date(datec);
stmt.setDate(1, d1);
stmt.setDate(2, d1);
ResultSet rs=stmt.executeQuery();
while(rs.next()){
count=rs.getInt("num");
}
DbpoolUtil.closeConnection();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
报错为:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'between date_add(date_add(last_day('2013-04-06'),interval 1 day),interval -1 mon' at line 1
直接执行语句为:
select sum(inOutMoney) num from inOutInfo where inOutDate between date_add(
date_add(last_day('2013-04-06'),interval 1 day),
interval -1 month) and last_day('2013-04-06') and info='支出'; 展开
int count=0;
String sql="select sum(inOutMoney) num from inOutInfo where " +
"between date_add(date_add(last_day(?),interval 1 day)," +
"interval -1 month) and last_day(?) and info='收入'";
try {
Connection conn=DbpoolUtil.getConnection();
PreparedStatement stmt=conn.prepareStatement(sql);
Date d1=new Date(datec);
stmt.setDate(1, d1);
stmt.setDate(2, d1);
ResultSet rs=stmt.executeQuery();
while(rs.next()){
count=rs.getInt("num");
}
DbpoolUtil.closeConnection();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
报错为:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'between date_add(date_add(last_day('2013-04-06'),interval 1 day),interval -1 mon' at line 1
直接执行语句为:
select sum(inOutMoney) num from inOutInfo where inOutDate between date_add(
date_add(last_day('2013-04-06'),interval 1 day),
interval -1 month) and last_day('2013-04-06') and info='支出'; 展开
2个回答
展开全部
如果数据库可以远程连接,您可以使用该工具来连接直接导入
如果不是,有两种情况:一种通用的虚拟机将提供数据库管理工具,工具的使用。
如果你没有,你可以使用在JSP页面中的JDBC连接数据库,你可以使用文件输入流文件读入到内存中,然后可以实施良好的数据库连接宣读的声明
如果不是,有两种情况:一种通用的虚拟机将提供数据库管理工具,工具的使用。
如果你没有,你可以使用在JSP页面中的JDBC连接数据库,你可以使用文件输入流文件读入到内存中,然后可以实施良好的数据库连接宣读的声明
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-06
展开全部
String sql="select sum(inOutMoney) num from inOutInfo where " +
目测这里少了一个 inOutDate. 导致实际执行的 sql 是 。。。 where between 。。。
"between date_add(date_add(last_day(?),interval 1 day)," +
"interval -1 month) and last_day(?) and info='收入'";
目测这里少了一个 inOutDate. 导致实际执行的 sql 是 。。。 where between 。。。
"between date_add(date_add(last_day(?),interval 1 day)," +
"interval -1 month) and last_day(?) and info='收入'";
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询