我如何从列中获取价值? (Java)
How can i take value from column? (Java)
我做简单的警报,如果第 0 列的值 == 今天,我需要显示警报。
Calendar cal = new GregorianCalendar();
int day = cal.get(Calendar.DAY_OF_MONTH);
try {
File currDir= new File ("Baza.db");
String sc = currDir.getAbsolutePath();
sc = sc.substring(0, sc.length());
String url = "jdbc:sqlite://"+sc;
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT Day FROM Month");
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
if(jTable1.getValueAt(0, 0).equals(day)){
JOptionPane.showMessageDialog(null, "Do your question!");
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
我尝试使用方法 getColumn、getColumnModel 和 getSelectedColumn,但没有与我的计算进行比较..
你的 day
变量是 int
和 jTable1.getValueAt(0, 0)
return 一个 Object
类型,因此两者都是不同的类型,并且总是 return false
经过比较。
因为你想比较它们作为字符串的相等性,因此你应该改变你的比较,
if(jTable1.getValueAt(0, 0).equals(day)){
到,
if(String.valueOf(jTable1.getValueAt(0, 0)).equals(String.valueOf(day))){
或者,您可以将 Jtable 列中的值解析为 int
,然后像这样比较整数值,
if(Integer.parseInt(jTable1.getValueAt(0, 0).toString()) == day){
但是,我更喜欢第一种方式来比较字符串,因为第二种方式可以 运行 变成 NumberFormatException
我做简单的警报,如果第 0 列的值 == 今天,我需要显示警报。
Calendar cal = new GregorianCalendar();
int day = cal.get(Calendar.DAY_OF_MONTH);
try {
File currDir= new File ("Baza.db");
String sc = currDir.getAbsolutePath();
sc = sc.substring(0, sc.length());
String url = "jdbc:sqlite://"+sc;
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT Day FROM Month");
jTable1.setModel(DbUtils.resultSetToTableModel(rs));
if(jTable1.getValueAt(0, 0).equals(day)){
JOptionPane.showMessageDialog(null, "Do your question!");
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
我尝试使用方法 getColumn、getColumnModel 和 getSelectedColumn,但没有与我的计算进行比较..
你的 day
变量是 int
和 jTable1.getValueAt(0, 0)
return 一个 Object
类型,因此两者都是不同的类型,并且总是 return false
经过比较。
因为你想比较它们作为字符串的相等性,因此你应该改变你的比较,
if(jTable1.getValueAt(0, 0).equals(day)){
到,
if(String.valueOf(jTable1.getValueAt(0, 0)).equals(String.valueOf(day))){
或者,您可以将 Jtable 列中的值解析为 int
,然后像这样比较整数值,
if(Integer.parseInt(jTable1.getValueAt(0, 0).toString()) == day){
但是,我更喜欢第一种方式来比较字符串,因为第二种方式可以 运行 变成 NumberFormatException