我向sql中插入数据后出现如下错误:
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。以下是代码片段:public static void main(String[] args) {
// TODO Auto-generated method stub
Connection con= null;
PreparedStatement pStat = null;
SimpleDateFormat hm = new SimpleDateFormat("yy-mm-dd hh:mm:ss");
con=ConnectionManager.getConnection();
String sql = "insert into FirstLevelTitle values(?,?,?,?)";
try {
pStat = con.prepareStatement(sql);
pStat.setInt(1, 7);
pStat.setString(2, "智慧");
pStat.setString(3, "指挥者");
pStat.setString(4, hm.format(new Date()));
pStat.executeUpdate();
System.out.println("插入成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
ConnectionManager.closePstat(pStat);
ConnectionManager.closeConnection(con);
}
}pStat.setString(4,hm.format(new Date()));这句话错误,试过setChar,setDate都出错,不知什么原因了,实在想不出,请大家给看看。
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。以下是代码片段:public static void main(String[] args) {
// TODO Auto-generated method stub
Connection con= null;
PreparedStatement pStat = null;
SimpleDateFormat hm = new SimpleDateFormat("yy-mm-dd hh:mm:ss");
con=ConnectionManager.getConnection();
String sql = "insert into FirstLevelTitle values(?,?,?,?)";
try {
pStat = con.prepareStatement(sql);
pStat.setInt(1, 7);
pStat.setString(2, "智慧");
pStat.setString(3, "指挥者");
pStat.setString(4, hm.format(new Date()));
pStat.executeUpdate();
System.out.println("插入成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
ConnectionManager.closePstat(pStat);
ConnectionManager.closeConnection(con);
}
}pStat.setString(4,hm.format(new Date()));这句话错误,试过setChar,setDate都出错,不知什么原因了,实在想不出,请大家给看看。
-->
pStat.setTimestamp(4, new Date()); 注意:Date 是java.sql.Date
应该是 new Timestamp()
-->
pStat.setTimestamp(4, Timestamp.valueOf(hm.format(new Date())));
pStat.setTimestamp(4, new timestape()); public class Timestamp extends Date
它允许 JDBC 把该类作为 SQL TIMESTAMP 值识别。 它添加了用以维持 SQL TIMESTAMP 纳秒值的能力并提供格式化和分析操作以支持用于 timestamp 值的 JDBC 换码语法。