餘米與MySQL和Java的JTable如何轉換一個byte []最新
工作在一種情況下,我只能從JTable的一個byte []獲得表示日期。
我找不到將字節[]轉換回日期的方法。
我建爲了這段代碼模擬問題:
public demoJFrame1() {
try {
setSize(new Dimension(300, 300));
String select = "SELECT validity_start_date FROM `Table` ";
Connection c = ObtainConnection();
java.sql.ResultSet rs = c.createStatement().executeQuery(select);
if (rs.next()){
Date dt = rs.getDate(1);
byte[] byteArr = rs.getBytes(1);
}
// if i only have access to the byte[] byteArr, how do i convert it to Date variable ????
} catch (java.sql.SQLException ex) {
Logger.getLogger(demoJFrame1.class.getName()).log(Level.SEVERE, null, ex);
}
}
public final Connection ObtainConnection() throws SQLException{
String DBurl = "jdbc:mysql://localhost:3306/DBname";
String DBdriver = "com.mysql.jdbc.Driver";
String DBlogin = "root";
String DBpassword = "pass";
Class.forName(DBdriver);
return java.sql.DriverManager.getConnection(DBurl, DBlogin, DBpassword);
}
如果我只能訪問到的byte [] byteArr,我如何將其轉換爲日期?
String s = Arrays.toString(byteArray); 然後轉換到'...' 我推薦jodatime庫。或者你可以使用日曆類 – shan
我不明白你爲什麼不能使用JDBC獲取日期。 'rs.getDate(1);'失敗了嗎?你知道爲什麼嗎? – aalku
嘿,謝謝你不要緊,我不能使用getDate函數的原因是因爲我重載函數'Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int rowIndex,int vColIndex)'on'javax.swing .table.DefaultTableCellRenderer',這隻給出Object值變量,而不是resultSet它自己。 – yaniv