时间插入到数据库出错。新手。

linyu335073217 2010-06-17 05:14:21
我创建了一时间类获:
import java.util.Date;
import java.text.DateFormat;

public class CountTime {
public String currentlyTime() {
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);
return dateFormat.format(date);
}
}


我想插入到数据库中去:
<% CountTime data=new CountTime();
String datatime =data.currentlyTime();

Connection con=DBConnection.getConnction();

PreparedStatement pstmt=con.prepareStatement(
"insert into tb_guestbook(gst_time) values(?)");
pstmt.setString(1,datatime);
pstmt.executeUpdate();
pstmt.close();
con.close();
response.sendRedirect("fg_show.jsp");
%>


我的JAVABean中

public String getGst_time() {
return gst_time;
}
public void setGst_time(String gst_time) {
this.gst_time = gst_time;
}


错误:
org.apache.jasper.JasperException: An exception occurred processing JSP page /fg_process.jsp at line 42
39: pstmt.setString(4,datatime);
40: pstmt.setString(4,fromIP);
41:
42: pstmt.executeUpdate();
43: pstmt.close();
44: con.close();
45: response.sendRedirect("fg_show.jsp");

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:414)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
linyu.com.servlet.SessionFilter.doFilter(SessionFilter.java:48)
linyu.com.servlet.EncodingFilter.doFilter(EncodingFilter.java:34)


root cause

javax.servlet.ServletException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid parameter binding(s).
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:855)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:784)
org.apache.jsp.fg_005fprocess_jsp._jspService(fg_005fprocess_jsp.java:165)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:390)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
linyu.com.servlet.SessionFilter.doFilter(SessionFilter.java:48)
linyu.com.servlet.EncodingFilter.doFilter(EncodingFilter.java:34)



...全文
148 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
jovinmavis 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yuqiangyuqiang 的回复:]

pstmt.setString(4,datatime);
pstmt.setString(4,fromIP);
这个只能设置一次的,因此造成的原因
[/Quote]
。。。。。。
linyu335073217 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 kuailexiaobuding4 的回复:]
o(∩_∩)o 哈哈不要吓唬人家。要仁慈。哈哈lz不要用<%%>啦。。遇到错误自己调试一下。设置个断点.F6一步步走。总会找到错误的
[/Quote]

哈哈 是的 这贴我早调试出来了· 用自带的 ·
yuqiangyuqiang 2010-06-18
  • 打赏
  • 举报
回复
pstmt.setString(4,datatime);
pstmt.setString(4,fromIP);
这个只能设置一次的,因此造成的原因
ronniegxq 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ol_beta 的回复:]

引用 2 楼 goldenfish1919 的回复:

39: pstmt.setString(4,datatime);//
40: pstmt.setString(4,fromIP); //为啥要设置两次啊?
41:
42: pstmt.executeUpdate();

i李小武 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 goldenfish1919 的回复:]

39: pstmt.setString(4,datatime);//
40: pstmt.setString(4,fromIP); //为啥要设置两次啊?
41:
42: pstmt.executeUpdate();
[/Quote]
应该是这个了
coolbamboo2008 2010-06-18
  • 打赏
  • 举报
回复
设了两次参数
kuailexiaobuding4 2010-06-18
  • 打赏
  • 举报
回复
o(∩_∩)o 哈哈不要吓唬人家。要仁慈。哈哈lz不要用<%%>啦。。遇到错误自己调试一下。设置个断点.F6一步步走。总会找到错误的
huanhuanfu 2010-06-18
  • 打赏
  • 举报
回复
数据库驱动咋没见到。
「已注销」 2010-06-18
  • 打赏
  • 举报
回复
pstmt.setString(4,datatime);
pstmt.setString(4,fromIP);
linyu335073217 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xiaoye2892 的回复:]
引用 1 楼 ivorytower 的回复:

什么时间呀?具体数据库呢?

你的数据库连接呢?

数据库驱动咋没见到。看你的错误SQLServer 2000 Driver for JDBC]Invalid parameter binding(s)


心目中的女神怒了
[/Quote] 、、、、、汗
linyu335073217 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wznshuai 的回复:]
乱七八糟 一般 数据库插时间 用数据库自带的 函数 就好了啊 多此一举
[/Quote]

哈哈 我晓得了我自己思路乱了。 我现在用自带的。
linyu335073217 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ivorytower 的回复:]
什么时间呀?具体数据库呢?

你的数据库连接呢?

数据库驱动咋没见到。看你的错误SQLServer 2000 Driver for JDBC]Invalid parameter binding(s)
[/Quote]

我发的是部分代码。连接的类没发过来。
wznshuai 2010-06-17
  • 打赏
  • 举报
回复
乱七八糟 一般 数据库插时间 用数据库自带的 函数 就好了啊 多此一举
happyfmy 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ivorytower 的回复:]

什么时间呀?具体数据库呢?

你的数据库连接呢?

数据库驱动咋没见到。看你的错误SQLServer 2000 Driver for JDBC]Invalid parameter binding(s)
[/Quote]

心目中的女神怒了
dr_lou 2010-06-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 goldenfish1919 的回复:]
39: pstmt.setString(4,datatime);//
40: pstmt.setString(4,fromIP); //为啥要设置两次啊?
41:
42: pstmt.executeUpdate();
[/Quote]
给分吧,这就是答案!
若鱼1919 2010-06-17
  • 打赏
  • 举报
回复
39: pstmt.setString(4,datatime);//
40: pstmt.setString(4,fromIP); //为啥要设置两次啊?
41:
42: pstmt.executeUpdate();
  • 打赏
  • 举报
回复
什么时间呀?具体数据库呢?

你的数据库连接呢?

数据库驱动咋没见到。看你的错误SQLServer 2000 Driver for JDBC]Invalid parameter binding(s)

81,094

社区成员

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

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