这个是Servlet接收的数据
String riqi=request.getParameter("riqi");
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");   
try {
java.util.Date date = format.parse(riqi);
Stock stock=new Stock();
stock.setRiqi(date);
} catch (ParseException e) {
e.printStackTrace();
}
StockInfo stockInfo=new StockInfo();
boolean b=stockInfo.insert(stock);这个是StockInfo.java的内容
public boolean insert(Stock stock){ 
boolean b=false;
con=Database.getCon();
try {
pt=con.prepareStatement("insert into stock(riqi)values(?)");
pt.setDate(1, new java.sql.Date(stock.getRiqi().getTime()));
int i=pt.executeUpdate();
if(i==1){
b=true;
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
try{
if(pt!=null)pt.close();
if(con!=null)con.close();
}catch (Exception e) {
e.printStackTrace();
}
}return b;
}运行以后报java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s)错误。
请高手帮忙,急着用这个代码。

解决方案 »

  1.   

    java.util.Date date = format.parse(riqi);试试String date = format.parse(riqi);
      

  2.   

    首先看看数据表stock的riqi是不是 日期型字段
    另外可直接用yyyy-mm-dd格式的串作日期型字段的值
      

  3.   

    数据库riqi的字段是datetime类型的   我就郁闷了,用系统自己的时间去插入数据库还是一样的错
    pt.setDate(1, new java.sql.Date(System.currentTimeMillis()));
    这样还是一样的错
      

  4.   

    试试pt.setDate(1, "2011-4-1");另外,这个表只有这个字段?是否有其它不能为null的字段
      

  5.   

    yyyy/mm/dd
    的格式试一试
    你说的那个
    可能在书苦苦中不支持
      

  6.   

    另外
    你插入的字段有问题
    你只取到time肯定不行把
    怎么也得把年月日加上的