找不到符号,符号:Netbeans中的方法setDate(Date)

时间:2018-10-06 10:45:40

标签: java date netbeans compiler-errors

enter image description here

我遇到错误,找不到符号,符号:方法setDate(Date)。

这是我的导入代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.ResultSet;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import sun.applet.Main;
import javax.swing.table.DefaultTableModel;

这是有错误的代码(第6行):

private String idTransaksi() {
        try {
            Date date = new Date();
            SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd");
            String tanggal = sdf.format(date);
            txtDate.setDate(date);

            SimpleDateFormat sdf2 = new SimpleDateFormat ("dd.MM.yyyy hh:mm:ss");
            String tanggal2 = sdf2.format(date);
            String qDate = "SELECT time, sellID FROM mssell";
            rs = stm.executeQuery(qDate);
            idJual = "Trans." + tanggal2;

            String query = "INSERT INTO t_jual VALUES ('"+idJual+"','"+tanggal+"','ADMIN',0,0,'NOTHING')";
            stm.executeUpdate(query);

        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
        return idJual;
    }

我想念什么?任何帮助性的回答都表示赞赏。

2 个答案:

答案 0 :(得分:1)

在您的代码中;

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd");
String tanggal = sdf.format(date);  //this tanggal for what? use this !!
txtDate.setDate(date); // date should be the string type. so make this tanggal and setText

所以最终代码应该像;

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd");
String tanggal = sdf.format(date);
txtDate.setText(tanggal);

答案 1 :(得分:1)

java.time

仅供参考,您使用的是可怕的旧日期时间类,而这些时间类早在几年前就被 java.time 类所取代。

LocalDate类表示没有日期和时区的仅日期值。

LocalDate.now().toString()
  

2018-01-23

要访问数据库,请使用JDBC 4.2或更高版本。

myPreparedStatement.setObject( … , myLocalDate ) ;

和检索。

LocalDate myLocalDate = myResultSet.getObject( … , LocalDate.class ) ;

关于 java.time

java.time框架已内置在Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.DateCalendarSimpleDateFormat

目前位于Joda-Timemaintenance mode项目建议迁移到java.time类。

要了解更多信息,请参见Oracle Tutorial。并在Stack Overflow中搜索许多示例和说明。规格为JSR 310

您可以直接与数据库交换 java.time 对象。使用符合JDBC driver或更高版本的JDBC 4.2。不需要字符串,不需要java.sql.*类。

在哪里获取java.time类?

ThreeTen-Extra项目使用其他类扩展了java.time。该项目为将来可能在java.time中添加内容提供了一个试验场。您可能会在这里找到一些有用的类,例如IntervalYearWeekYearQuartermore