无法将java.sql.Date插入到";日期“;数据库中的字段

无法将java.sql.Date插入到";日期“;数据库中的字段,java,sql,Java,Sql,我得到一个字符串值,如“2012-01-20”,并将其转换为sql.Date以将其插入数据库 代码 运行此代码时,出现异常“[Microsoft][ODBC SQL Server驱动程序]可选功能未实现” 我做错了什么?请帮忙!删除单引号-('DOB')和插入(拼写错误) 您可以使用java.sql.Date.valueOf(“2012-01-20”)方法将字符串转换为sql日期 使用executeUpdate()方法代替executeQuery() 找不到“valueof”方法?为什么是tha

我得到一个字符串值,如“2012-01-20”,并将其转换为sql.Date以将其插入数据库

代码

运行此代码时,出现异常“[Microsoft][ODBC SQL Server驱动程序]可选功能未实现”

我做错了什么?请帮忙!

删除单引号-('DOB')和插入(
拼写错误)

您可以使用
java.sql.Date.valueOf(“2012-01-20”)
方法将字符串转换为sql日期

使用
executeUpdate()
方法代替executeQuery()


找不到“valueof”方法?为什么是thatDate.valueof()-更多信息-谢谢,我已经更正了。但是按照您的建议进行所有修改仍然不能解决问题。它给出了相同的异常。@ReezaMuaz-可能是您错过了设置ODBC DSN的某些内容。请参阅我编辑的文章。DSN已经设置并且连接成功。当我调试executeUpdate()时行甚至未到达,在ps.setDate()之后它抛出异常:/
java.util.Date DOB = new java.util.Date();
String datetext = txtDate.getText();

SimpleDateFormat sd = new SimpleDateFormat("yyyy-mm-dd");
DOB = sd.parse(datetext);
java.sql.Date sqlDate = new java.sql.Date(DOB.getTime());

String query = "ISERT INTO EMPLOYEE ('DOB')"
                   + " VALUES ( ? ) ";

con = db.createConnection();
 try{
     ps = con.prepareStatement(query);
     ps.setDate(1, sqlDate);
     ps.executeQuery();
    }catch(Exception ex){
       System.err.print(ex);
  }
String query = "INSERT INTO EMPLOYEE (DOB) VALUES (?)";
String query = "INSERT INTO EMPLOYEE (DOB) VALUES (?)";

con = db.createConnection();
 try{
     ps = con.prepareStatement(query);
     ps.setDate(1, java.sql.Date.valueOf("2012-01-20"));
     //Or use
     //  ps.setTimestamp(1, new Timestamp(DOB.getTime())); 
     ps.executeUpdate();
    }catch(Exception ex){
       System.err.print(ex);
  }