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

tea_year 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' 附近有语法错误。
...全文
119 点赞 收藏 6
写回复
6 条回复
danglixing213 2014年08月07日
String sql="update employee set name=?,age=? ,date=? where id=?";
回复 点赞
猿敲月下码 2014年08月07日
楼上已经说明原因了,SQL语句不正确,非日期转换原因
回复 点赞
兔子托尼啊 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())); 试试
回复 点赞
发动态
发帖子
Java SE
创建于2007-09-28

3.4w+

社区成员

30.7w+

社区内容

Java 2 Standard Edition
社区公告
暂无公告