我如何从JSP中的MySQL获取布尔值?

问题描述:

嗯,我正在上一个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> 

在此先感谢: )

您需要进行一些更改:

  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我正在这样做,但它与声明的链接和与数据库的声明,当我删除它们时出现错误。 –

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 –