下面是我的数据库,我正在用java编程,我的工作区是eclipse
我的问题是这样的:我正在努力总结这一列 monthlypaid
例如一月的每个月,除了appartmentnum:1,每个月都支付,其中值0表示(当月未支付)
所以在一月530+530+700+660+490+200
5月570+530+700+200日
我应该这样打印,1月1日和2日,febsum,我不知道怎么做
我试过了,但我想我离解决办法还很远
public static String select_Month_payment(String username) {
int i=1;
String answer="",ans="";
try {
PreparedStatement statement = connect.prepareStatement("select january,february,march,april,may,june,july,august,september,october,november,december from tenant where username= "+"'"+username+"'");
ResultSet result = statement.executeQuery();
while(result.next())
{
for (i=1;i<13;i++)
{
answer=result.getString(i);
if(!answer.matches("0") )
ans+= answer + " " ;
}
}
} catch (SQLException var2) {
var2.printStackTrace();
}
return ans;
}
1条答案
按热度按时间vwhgwdsa1#
您可以尝试:
sql中有一个内置函数,返回列的和。你可能不想在已经有轮子的时候再发明一个。。
加上:
在查询中连接变量是一种不好的做法。您的应用程序可能会受到
sql injections
. 使用?
相反,它被称为named perimeters
就像这个:pstmt.setDouble(n, YOUR_VARIABLE);
.有关更多信息,请参阅:https://www.javaworld.com/article/2077706/core-java/named-parameters-for-preparedstatement.html