2016-07-17 68 views
0

當客戶從數據庫中刪除時,他的狀態必須設置爲脫機(而不是實際從數據庫中刪除客戶)。在我的數據庫中,我使用tinyint(1)將狀態設置爲0(不活動)或1(活動)。現在我該如何編碼呢?使用java更改mysql數據庫中的tinyint(1)數據類型

// Delete a customer on the database by setting his status to inactive 
public void deleteCust(int id) throws DBException { 

    // connect (and close connection) 
    try (Connection conn = ConnectionManager.getConnection();) { 
    // PreparedStatement 
    try (PreparedStatement stmt = conn.prepareStatement(
     "update customer set active = ? where id = ?");) { 
     stmt.settinyint(1, 0); 
     stmt.setInt(2, id); 

     stmt.execute(); 
    } catch (SQLException sqlEx) { 
     throw new DBException("SQL-exception in deleteCust - statement"+ sqlEx); 
    } 
    } catch (SQLException sqlEx) { 
    throw new DBException(
     "SQL-exception in deleteCust - connection"+ sqlEx); 
    } 

}

我使用的是通過在本地主機上的USB網絡服務器的SQL數據庫。我不確定這是否能正常工作,因爲我的代碼其餘部分不完整,我無法測試,但在繼續之前我必須確定。謝謝

回答

1

改爲使用setByte()

因爲TINYINT在SQL is equal to byte in java,也有一些方法,如:setByte()updateByte()getByte()

+0

謝謝! :)我會嘗試這個 – user3117628

+0

你的歡迎,檢查這些例子[java2s.com](http://www.java2s.com/Code/Java/Database-SQL-JDBC/UpdateRecordsUsingPreparedStatement.htm)和[tutorialspoint.com] (http://www.tutorialspoint.com/jdbc/preparestatement-object-example.htm)。 –

相關問題