2017-08-17 84 views
-2

我在Java類中有一個布爾值,並希望使用此狀態在Mysql數據庫中插入0或1狀態。當我從數據庫獲取數據時,它總是返回true [數據庫中的1]。如何根據布爾值在mysql中獲取0或1?

誰能告訴我如何根據布爾值得到0或1的數據庫。

boolean status= Boolean.parseBoolean(parameterStatus); 
+0

'status'有什麼問題? 1:0' – user7294900

+0

請確保選擇最佳答案 – develop1

+0

謝謝@ user7294900它幫助 –

回答

0

這是不完全清楚你問什麼。我認爲你的意思是「爲什麼數據庫在執行查詢時總是返回1(對於true)?」。

這可能是因爲你總是插入1(真)。

下面是如何插入數據庫並獲取布爾值的示例。

try{ 
      // create a mysql database connection 
      String myDriver = "org.gjt.mm.mysql.Driver"; 
      String myUrl = "jdbc:mysql://localhost/test"; 
      Class.forName(myDriver); 
      Connection conn = DriverManager.getConnection(myUrl, "root", ""); 

      // create a sql date object so we can use it in our INSERT statement 
      Calendar calendar = Calendar.getInstance(); 
      java.sql.Date startDate = new java.sql.Date(calendar.getTime().getTime()); 

      // the mysql insert statement 
      String query = " insert into users (first_name, last_name, date_created, is_admin, num_points)" 
        + " values (?, ?, ?, ?, ?)"; 

      // create the mysql insert preparedstatement 
      PreparedStatement preparedStmt = conn.prepareStatement(query); 
      preparedStmt.setString (1, "Barney"); 
      preparedStmt.setString (2, "Rubble"); 
      preparedStmt.setDate (3, startDate); 
      preparedStmt.setBoolean(4, false); 
      preparedStmt.setInt (5, 5000); 

      // execute the preparedstatement 
      preparedStmt.execute(); 




      //now to get the boolean from Database 
      Statement stmt=conn.createStatement(); 
      ResultSet rs=stmt.executeQuery("select * from emp"); 
      while(rs.next()) 
       System.out.println(rs.getBoolean(4)); 
      conn.close(); 


     }catch(Exception e){ 
      System.out.println(e); 
     }