2016-10-21 64 views
0
對借記信用SDATE

錯誤獲取平衡,在MS Access

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> 
    <%@page import="java.sql.*"%> 
    <%@ page import="java.util.Calendar" %> 
    <% 
    //java Code 
    String date = (new java.util.Date()).toString(); 
    String UserName = request.getParameter("UserName"); 
    String CusId= request.getParameter("CusId"); 
    String AccountNo = request.getParameter("AccountNo"); 
    String Debit = request.getParameter("Debit"); 
    String Credit=request.getParameter("Credit"); 
    String Balance=request.getParameter("Balance"); 
    String sDate=request.getParameter("sDate"); 
    try 
    { 
    String s="jdbc:odbc:Database1"; 
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
    Connection conn=DriverManager.getConnection(s); 
    Statement smt=conn.createStatement(); 
    Calendar calendar = Calendar.getInstance(); 
    java.sql.Date startDate = new java.sql.Date(calendar.getTime().getTime()); 
    String sql= "SELECT sDate, (SUM(Debit)*-1) + SUM(Credit)Balance FROM abcbank GROUP BY sDate"; 
    ResultSet result = smt.executeQuery(sql); 
    int count = 0; 
    while (result.next()) 
    { 
    result.getString(1,"Debit"); 
    result.getString(2,"Credit"); 
    result.getString(3,"Balance"); 
    result.getDate(4,startDate); 

    } 

    String update= "UPDATE abcbank SET Balance =Debit + Balance WHERE AccountNo="+AccountNo+" "; 
    PreparedStatement statement = conn.prepareStatement(update); 
    //statement.setString(1,"AccountNo"); 
    int rowsUpdated = statement.executeUpdate(); 
    if (rowsUpdated ==0) 
    { 
    out.println("This Emp does not Exists!"); 
    } 
    else if(rowsUpdated ==1) 
    { 
    out.println("An existing user was updated successfully!"); 
    } 
    conn.close(); 
    } 
    catch(Exception ex) 
    { 
    System.err.println(ex.getMessage()); 
     } 
     %> 
    </body> 
    </html> 

數據庫

錯誤獲取平衡,沒有數據AccID-用戶名登錄號借方貸方餘額SDATE

如何與任何銀行存摺類型一樣,爲流動賬戶數據庫取得平衡。

我'試圖上述代碼JSP頁面開發然而每當運行沒有出現錯誤,但在數據庫中沒有數據響應,並且當我只更新的帳戶然後每個特定帳戶[類型sdatewise的數目]正在更新

ano De. Cre.B.sadate 
56 100 0 100 12/09/2006 
57 000 50 50 13/09/2006 
56 00 60 40 14/09/2009 

這樣子。

回答

0

這裏有一個明顯的問題:(SUM(Debit)*-1) + SUM(Credit)Balance。它應該是SUM(Credit)-SUM(Debit) AS Balance假設借貸是始終存在的,否則它應該是SUM(Nz(Credit,0))-SUM(Nz(Debit,0)) AS Balance

而且這裏:

result.getString(1,"Debit"); 
result.getString(2,"Credit"); 
result.getString(3,"Balance"); 
result.getDate(4,startDate); 

似乎不是實際做任何事情,但也許這就是它的外觀給我,因爲我不不使用jsp。但是,

您的查詢只返回字段:sDateBalance。更改SELECT sDate,SELECT sDate AS startDate, SUM(Nz(Debit,0)) AS Debit, SUM(Nz(Credit,0)) AS Credit,

result.getDate(4,startDate);應該也可能是result.getDate(4,"startDate");

這些只是最明顯的問題;可能還有更多。

+0

你好,根據你的建議,我正在實現這些,即使可能,也沒有實現成功,你能否描述和過去正確地編輯上面的整個JSP My Code。 – Manish