问题:我想通过在表单中输入补交费用来更改数据库表中两个字段的值.这两个字段分别是amount(交费总额)和qfamount(欠费总额),用学号来作为条件更新数据,下面的代码没有能改变数据表中的值,这是为什么?
String snumber = new String(request.getParameter("check").getBytes("ISO8859_1"),"GBK");
String chkmoney = new String(request.getParameter("checkmoney").getBytes("ISO8859_1"),"GBK");
sql="update students set amount=?, qfamount=qfamount-? where Snumber=?";//qfamount是欠费额
PreparedStatement prepstmt =null;
prepstmt=con.prepareStatement(sql);
prepstmt.setBytes(1,chkmoney.getBytes("GB2312"));
prepstmt.setBytes(2,chkmoney.getBytes("GB2312"));
prepstmt.setBytes(3,snumber.getBytes("GB2312")); prepstmt.executeUpdate();
String snumber = new String(request.getParameter("check").getBytes("ISO8859_1"),"GBK");
String chkmoney = new String(request.getParameter("checkmoney").getBytes("ISO8859_1"),"GBK");
sql="update students set amount=?, qfamount=qfamount-? where Snumber=?";//qfamount是欠费额
PreparedStatement prepstmt =null;
prepstmt=con.prepareStatement(sql);
prepstmt.setBytes(1,chkmoney.getBytes("GB2312"));
prepstmt.setBytes(2,chkmoney.getBytes("GB2312"));
prepstmt.setBytes(3,snumber.getBytes("GB2312")); prepstmt.executeUpdate();
PreparedStatement prepstmt =null;
prepstmt=con.prepareStatement(sql);
prepstmt.setDouble(1,123);
prepstmt.setDouble(2,123.123);
prepstmt.setString(3,"SN123");
prepstmt.executeUpdate(); LZ还是看看基础书吧,这都是基础问题