2016-03-27 59 views
0

嗯,我正在上一個JSP項目,我完成了上傳部分,並獲得文件名和目錄到我的數據庫,現在我想通知管理員一個新的文件已上傳,爲此我給一個列名交付的地方我存儲0(假)的bool,所以我想要得到的假值的總數,並顯示在我的管理儀表板.... 這裏我的管理部分代碼..我如何從JSP中的MySQL獲取布爾值?

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 

<%@ page import="java.sql.Statement, 
java.sql.DriverManager, 
java.sql.Connection, 
java.sql.ResultSet" %> 

    <% 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
     Connection c =   DriverManager.getConnection("jdbc:mysql://localhost/fyp?","root",""); 
     Statement s = c.createStatement(); 
     String sql ="SELECT * FROM `notify-admin` WHERE Delivered='0'"; 
     s.executeUpdate(sql); 

     ResultSet resultset= s.executeQuery(sql); 

      if(!resultset.next()) { 
       out.println("Sorry, could not find Any Admin Record From Database. "); 
      } else { 

     %> 
    <button type="button" class="primary">New Documents <span class="badge"> <% while (resultset.next()){ resultset.getString(3); %></span> 
     <%} %> 

    <% 


     } 
    %> 
    </button> 

在此先感謝: )

回答

0

您需要進行一些更改:

  1. 刪除下面的語句:

    Statement s = c.createStatement();

    s.executeUpdate(sql);

  2. 如果你想值的總數,然後用下面的查詢:

    "SELECT count(*) as count FROM notify-admin WHERE Delivered='0'"

一旦你得到resultSet對象,您可以通過resultset.getInt("count")獲取該值。

+0

如果我刪除'聲明S = c.createStatement();' 's.executeUpdate( sql);' 然後我給結果集執行? –

+0

您已經在執行返回結果集的'executeQuery'。 –

+0

yap我正在這樣做,但它與聲明的鏈接和與數據庫的聲明,當我刪除它們時出現錯誤。 –

0
Connection con =DriverManager.getConnection("jdbc:mysql://localhost/fyp?","root",""); 
String sql = "SELECT COUNT(*) FROM `notify-admin` where " ; 
PreparedStatement prest = con.prepareStatement(sql); 
ResultSet rs = prest.executeQuery(); 
while (!rs.next()) { 
     out.println("Sorry, could not find Any Admin Record From Database. "); 
    } 
System.out.println("Number of records: " + records); 
con.close(); 

試試這個 這將指望有多少記錄在數據庫中,多數民衆贊成交付ID是O意味着假

+0

從這裏你可以得到提供id的用戶總數爲false –