jdbc日期字符串转换问题?求解中

teayear
前端领域优质创作者
博客专家认证
2014-08-06 12:53:08
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;



public class EmpDB{
//私有属性
private Connection conn=null;
private PreparedStatement pstmt=null;
private ResultSet rs=null;

public void saveEmpInfo(){
try {
conn=DBManager.getConnection();
String sql="insert into employee values(?,?,?,?,?)";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,"女");//sex,age,name,address
pstmt.setInt(3,18);
pstmt.setString(2,"郭美梅");
pstmt.setString(4,"北京京西胡同");
pstmt.setDate(5,new Date(new java.util.Date().getTime()));
int result=pstmt.executeUpdate();
if(result>0)
System.out.println("增加数据成功!");
else
System.out.println("增加数据失败!");
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBManager.closeAll(rs, pstmt, conn);
}
}
//更新数据的方法;
public void updateEmpInfo(){
try {
conn=DBManager.getConnection();
String sql="update employee set name=?,age=? date=? where id=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,"马云峰");
pstmt.setInt(2,28);

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String date2="2011-10-12";
java.util.Date d2=sdf.parse(date2);
pstmt.setDate(3,new Date(d2.getDate()));
//setDate(3,new java.sql.date())
pstmt.setInt(4,6);
int result=pstmt.executeUpdate();
if(result>0)
System.out.println("ok");
else
System.out.println("failue");
} catch (SQLException e) {
e.printStackTrace();
}catch(Exception ex){}
finally{
DBManager.closeAll(rs, pstmt, conn);
}
}
}
com.microsoft.sqlserver.jdbc.SQLServerException: 'date' 附近有语法错误。
...全文
240 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
danglixing213 2014-08-07
  • 打赏
  • 举报
回复
String sql="update employee set name=?,age=? ,date=? where id=?";
猿敲月下码 2014-08-07
  • 打赏
  • 举报
回复
楼上已经说明原因了,SQL语句不正确,非日期转换原因
tony4geek 2014-08-06
  • 打赏
  • 举报
回复
是不是少逗号? update employee set name=?,age=?, date=? where id=?
LOVE-漂泊 2014-08-06
  • 打赏
  • 举报
回复
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = df.format(new Date()); 这样就可以把系统当前时间设定格式了 不用你那样
S117 2014-08-06
  • 打赏
  • 举报
回复
pstmt.setDate(3,new Date(d2.getDate()));错了吧 pstmt.setDate(3,new Date(d2.getTime()));
姜小白- 2014-08-06
  • 打赏
  • 举报
回复
pstmt.setDate(3,new Date(d2.getDate())); 改为 pstmt.setDate(3,new Date(d2.getTime())); 试试

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧