我想更新JTable
而不AES_ENCRYPT
數據是可以更新和查看,但由於數據被加密每次我嘗試調用此方法數據仍然加密。我怎樣才能解決這個問題?如何更新jtable與AES_DECRYPT
private void Update_Table(){
try{
String sql = "SELECT ID, AES_DECRYPT(FirstName, 'uk112') "
+ "AS FirstName, AES_DECRYPT(MiddleName, 'uk112') "
+ "AS MiddleName, AES_DECRYPT(LastName, 'uk112') "
+ "AS LastName, DOB, AES_DECRYPT(Gander, 'uk112')"
+ "AS Gander, AES_DECRYPT(Address, 'uk112')"
+ "AS Address, AES_DECRYPT(City, 'uk112') "
+ "AS City, AES_DECRYPT(PostCode, 'uk112')"
+ "AS PostCode FROM Customer";
pst = conn.prepareStatement(sql);
rs =pst.executeQuery(sql);
CTable.setModel(DbUtils.resultSetToTableModel(rs));
pst.close();
rs.close();
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
每當我試圖調用Update_Table方法,以更新的JTable
這種情況
你有沒有試過從'rs'類似'rs.getString(「FirstName」)''的數據?它是否給出'加密'數據或'解密'? 如果它給出'encypted'數據,是否有可能在嵌入數據庫的同時兩次加密數據? 如果它給出'解密'的數據,你能告訴我們'DbUtils'的代碼嗎? 如果它給出 – 2013-04-24 17:22:34
我只加密了一次數據,但是如何在'pst = conn.prepareStatement(sql)之後使用'rs.getString(「FirstName」)' – 2013-04-24 17:36:14
; (rs.next()){String name = rs.getString(「FirstName」);}使用while(rs.next()){String name = rs.getString(「FirstName」); System.out.println(name);}'並檢查控制檯 – 2013-04-24 18:30:11