请问下各位大佬怎么把java获取的当前时间差如oracl数据库啊..我这里是做得一个购物网站,要把生成的订单信息插入数据库.信息能够获取.也能够打印出来..但是错误提示字体与格式不正确......请各位帮帮忙,数据层的插入方法如下:
public int insertOrder(Order order) {
int i = 0;
Connection conn = null;
PreparedStatement ps = null;
String sql = "insert into Orders(NUMBERS,ACCOUNT,REALNAME,ADDRESS,TEL,SETMONEY,POST,BZ,SIGN,DATA) values (?,?,?,?,?,?,?,?,?,?); try {
conn = DBHandle.getConnection();
ps = conn.prepareStatement(sql); ps.setString(1, order.getOrderNumber());
ps.setString(2, order.getAccount());
ps.setString(3, order.getReallName());
ps.setString(4, order.getAddress());
ps.setString(5, order.getTel());
ps.setString(6, order.getSetMoney());
ps.setString(7, order.getPost());
ps.setString(8, order.getBz());
ps.setInt(9, order.getSign());
ps.setString(10, order.getCreateTime()); System.out.println(order.getOrderNumber());
System.out.println(order.getAccount());
System.out.println(order.getReallName());
System.out.println(order.getAddress());
System.out.println(order.getTel());
System.out.println(order.getSetMoney());
System.out.println(order.getPost());
System.out.println(order.getBz());
System.out.println(order.getSign());
System.out.println(order.getCreateTime());
i = ps.executeUpdate(); } catch (SQLException e) {
e.printStackTrace();
} finally {
DBHandle.closePreparedStatement(ps);
DBHandle.closeConnection(conn);
}
return i;
}
public int insertOrder(Order order) {
int i = 0;
Connection conn = null;
PreparedStatement ps = null;
String sql = "insert into Orders(NUMBERS,ACCOUNT,REALNAME,ADDRESS,TEL,SETMONEY,POST,BZ,SIGN,DATA) values (?,?,?,?,?,?,?,?,?,?); try {
conn = DBHandle.getConnection();
ps = conn.prepareStatement(sql); ps.setString(1, order.getOrderNumber());
ps.setString(2, order.getAccount());
ps.setString(3, order.getReallName());
ps.setString(4, order.getAddress());
ps.setString(5, order.getTel());
ps.setString(6, order.getSetMoney());
ps.setString(7, order.getPost());
ps.setString(8, order.getBz());
ps.setInt(9, order.getSign());
ps.setString(10, order.getCreateTime()); System.out.println(order.getOrderNumber());
System.out.println(order.getAccount());
System.out.println(order.getReallName());
System.out.println(order.getAddress());
System.out.println(order.getTel());
System.out.println(order.getSetMoney());
System.out.println(order.getPost());
System.out.println(order.getBz());
System.out.println(order.getSign());
System.out.println(order.getCreateTime());
i = ps.executeUpdate(); } catch (SQLException e) {
e.printStackTrace();
} finally {
DBHandle.closePreparedStatement(ps);
DBHandle.closeConnection(conn);
}
return i;
}
应该用
setDate(10,date);
这个date需要是java.sql.Date类型
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package superMarket.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import superMarket.bo.OrderBo;
import superMarket.bo.impl.OrderBoImpl;
import superMarket.entities.Associator;
import superMarket.entities.Order;
import superMarket.form.OrderInsertForm;
import superMarket.web.CountTime;/**
* MyEclipse Struts
* Creation date: 08-22-2009
*
* XDoclet definition:
* @struts.action path="/orderInsert" name="orderInsertForm" scope="request"
*/
public class OrderInsertAction extends Action {
OrderBo ob = new OrderBoImpl();
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
OrderInsertForm orderInsertForm = (OrderInsertForm) form;// TODO Auto-generated method stub
CountTime date = new CountTime();
String orderNumber = (String) request.getSession().getAttribute("orders");
String account = ((Associator) request.getSession().getAttribute("User")).getLoginName();
Order order = new Order();
order.setAccount(account);
order.setReallName(orderInsertForm.getReallName());
order.setAddress(orderInsertForm.getAddress());
order.setTel(orderInsertForm.getTel());
order.setPost(orderInsertForm.getPost());
order.setSetMoney(orderInsertForm.getSetMoney());
order.setBz(orderInsertForm.getBz());
order.setCreateTime(date.currentlyTime());
order.setCreateTime(date.currentlyTime());
order.setOrderNumber(orderNumber);
order.setSign(0);
ob.insertOrder(order);
System.out.println(order.getCreateTime());
return mapping.getInputForward();
}
}
CountTime 是我另外写的一个java获取当前时间的类..请看:
package superMarket.web;
import java.text.SimpleDateFormat;
import java.util.Date;public class CountTime {
//用来根据时间获取订单编号的方法
public String orderNumbers() {
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMddhhmmss");
return dateFormat.format(date);
}
//用来获取当前时间的方法
public String currentlyTime() {
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return simpleDateFormat.format(date);
}
}
获取到的时候怎么不能把 date.currentlyTime 强转成Date类型啊.....