2013-01-11 124 views
0

我試圖在sql中執行乘法函數,但它不計算d值。 d問題是我打算創建一個總行來存儲相乘的值n我不能創建一個新表或添加d行.. 這裏是d代碼我使用n d錯誤它是顯示。 有幫助。sql列乘法錯誤

<% 
try 
{ 
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/invent", "root", "hpdj850c"); 
    if (!conexion.isClosed()) 
    { 
     Statement st = conexion.createStatement(); 
     ResultSet rs = st.executeQuery("select * from store"); 
     Statement sta = conexion.createStatement(); 
     ResultSet r = sta.executeQuery("select (rate*quantity) from store"); 

     out.println("<table class=\"twelve\"><thead><tr><th>Id</th><th>Name</th><th>Category</th><th>Rate</th><th>Quantity</th><th>Total</th></tr></thead>"); 
     while (rs.next() & r.next()) 
     { 

     out.println("<tr>"); 
     out.println("<td>"+rs.getObject("itemno")+"</td>"); 
     out.println("<td>"+rs.getObject("name")+"</td>"); 
     out.println("<td>"+rs.getObject("category")+"</td>"); 
     out.println("<td>"+rs.getObject("rate")+"</td>"); 
     out.println("<td>"+rs.getObject("quantity")+"</td>"); 
     out.println("<td>"+r.getStatement() + "</td>"); 
     out.println("</tr>"); 

      } 
     out.println("</table>"); 

     conexion.close(); 
    } 
    else 
     out.println("fail"); 
} 
catch (Exception e) 
{ 
    out.println("Exception " + e); 
    e.printStackTrace(); 
} 
%> 

總:

[email protected]

+0

你能發佈異常stacktracE嗎? –

+0

'r.getStatement()'應該是'r.getInt()'或'r.getLong()'。我建議使用'getInt()'或'getString()'作爲其他ResultSet的'getObject()'。 –

+0

r.getInt()n r.getString都不起作用。 –

回答

0

代替使用兩個單獨的查詢中使用單個查詢來實現這個

對於例如:

select   itemno , 
        name , 
        category , 
        rate , 
        quantity, 
        rate*quantity as total from Test 
+0

可以告訴我一個java函數來更新mysql表中使用java函數在會話bean中的值。我不能使用SQL查詢。 –

+0

like d persist func我用於存儲數據庫中的條目。 –

+0

public store persist(object odject){em.persist(object)} –