有关于Struts2创建Web工程中JDBC修改表字段值的问题

问题描述

2013-08-03 ==========================================================================================客户端更新语句:update cost_xjz set status='0',startime=to_date('2013-08-01 16:30:22','yyyy-mm-dd hh24:mi:ss') where id = 21;上面是客户端更新语句,使用完全正常无任何问题! =========================================================================================JDBC更新语句:"UPDATE COST_XJZ SET STATUS='0',STARTIME=TO_DATE('?','YYYY-MM-DD HH24:MI:SS') WHERE ID = ?"; =======================================================================================JDBC 更新方法:public void openCost(int id) throws SQLException { ​       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ​       String t = sdf.format(new Date()); ​       update(OPEN_COST, new Object[]{"0",t,id});​}update是我自己封装的基于JDBC技术更新数据表的方法,已测试多种表,完全无任何问题,就不贴了。 ============================================================================================下面是建表语句:CREATE TABLE COST_XJZ(ID                               NUMBER(4) CONSTRAINT COST_ID_PK PRIMARY KEY,NAME                        VARCHAR(50) NOT NULL,BASE_DURATION    NUMBER(11),BASE_COST             NUMBER(7,2),UNIT_COST              NUMBER(7,4), STATUS CHAR(1) CONSTRAINT COST_STATUS_CK CHECK (STATUS IN (0,1)),DESCR                      VARCHAR2(100),CREATIME                DATE DEFAULT SYSDATE ,STARTIME                DATE, COST_TYPE CHAR(1));=============================================================================下面是控制台打印的异常信息:​java.sql.SQLException: 无效的列索引 at oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:5168) at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:8098) at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8034) at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8767) at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:8748) at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:230) at implement.BaseDAO.update(BaseDAO.java:57) at implement.CostDAOImpl.openCost(CostDAOImpl.java:125) at test.TestCostDAO.testOpen(TestCostDAO.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) =========================================================================================请各路大神指点下到底是什么地方出了问题!不胜感激!

解决方案

问题应该是在楼主将一个String类型的变量映射到数据看一个DATE类型的字段的问题,看你starttime字段的类型是DATE,但是你在JAVA中set的类型是String.两者映射不上,所以出现这个错误
解决方案二:
UPDATE COST_XJZ SET STATUS='0',STARTIME=TO_DATE(?,'YYYY-MM-DD HH24:MI:SS') WHERE ID = ?

时间: 2024-11-05 17:29:13

有关于Struts2创建Web工程中JDBC修改表字段值的问题的相关文章

请问一个web工程中,是否可同时使用struts1和struts2?

问题描述 请问一个web工程中,是否可同时使用struts1和struts2? 请问一个web工程中,是否可同时使用struts1和struts2? 解决方案 理论上可以,但是要非常小心,比如重名的类型,还有url映射和配置文件.建议你独立成两个网站,互相调用. 解决方案二: 最好是不要同时使用, 很容易出错. 解决方案三: 应该可以,你确定这样用了方便以后维护吗? 解决方案四: struts2不是夸张1吗,有需要给自己找麻烦吗 解决方案五: 在原来的struts1的项目上需要新功能,你想用st

如何在Web工程中实现任务计划调度

好多朋友用过Windows的任务计划,也有不少程序迷自己曾写过时钟报警.系统自动关机等趣味程序,可却很少有朋友在Web工程中实现过类似功能.今天有空把笔者先前曾在Tomcat上实现的类似功能,搬出来与大家共享. 早在几年前,我公司跟某市财政局合作项目开发,为加强财政局对所属单位财务状况的有效监管,开发.实施了财政局数据中心项目.此项目采用B/S加C/S混合结构模式.财政局Web服务器上架设数据同步接收装置,由市属单位每天下班前把财务信息通过HTTP协议上传至财政局中心服务器,与Web服务器上的接

为什么struts2 在web.xml中写了filter就不能打开jsp文件了

问题描述 为什么struts2 在web.xml中写了filter就不能打开jsp文件了 其中jsp文件放在F:tomcatwebapps2 web.xml放在F:tomcatwebapps2WEB-INF //web.xml中的filter struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2/2/*.action 解决方案 filter的一部分打印不出来. 解决方案二: 请求

web 工程中struts 的select标签 如何让其选定其中的一项

问题描述 web 工程中struts 的select标签 如何让其选定其中的一项 下面是原式 headerValue="全部" listKey="key" listValue="value"> </s:select> 如何让他选定其中的一项, 就好比 <select> <option>1</option> <option selected>2</option> <

服务器-struts2在web.xml中添加支持后访问所有页面报404错误,什么原因?

问题描述 struts2在web.xml中添加支持后访问所有页面报404错误,什么原因? struts2在web.xml中添加支持后访问所有页面报404错误,本地测试无任何问题,上传服务器就报所有页面404. web.xml struts.xml 运行后 解决方案 上传服务器之后,看看是不是请求IP,或者端口错了 解决方案二: 看看启动服务器报错没.估计你服务器在启动时就报错了 解决方案三: 看看服务器上jsp页面的路径对不对 解决方案四: 这情况一般是 启动服务器 然后就报错了... 找找看

maven web工程中调用依赖的jar包内的自定义XX.xml文件 报FileNotFoundException异常

问题描述 现有一mavenweb工程,在web工程中依赖2个maven普通工程,用的是JBoss部署有A,B两个普通的maven工程,C是mavenweb工程.其中A工程中有个自定义的Data.xml文件.在maven工程B中,我依赖A工程(A工程打成jar包后,在B工程中的pom中引用了,A工程中放的是property文件和xml文件等resource文件),在B工程中有个解析A工程下的Data.xml的工具类,用getResource("/Data.xml")再newFile(fi

web开发-我想在web 工程中加上类似淘宝的在线支付和在线客服功能,该怎样写?

问题描述 我想在web 工程中加上类似淘宝的在线支付和在线客服功能,该怎样写? 我想在web 工程中加上类似淘宝的在线支付和在线客服功能,该怎样写?

java web-求大神给个Java web工程中怎么实现权限的例子

问题描述 求大神给个Java web工程中怎么实现权限的例子 求大神给个Java web工程中怎么实现权限的例子(最好使用了 Struts). 解决方案 http://blog.csdn.net/wangzihu/article/details/7653244 解决方案二: http://canann.iteye.com/blog/1929180 参考Shiro,独立的权限框架. 解决方案三: http://edu.51cto.com/lesson/id-36761.html 解决方案四: ht

WEB工程中spring配置文件路径问题。

问题描述 WEB工程中在java文件中读取spring配置文件application.xml,配置文件位于WebRoot/spring/application.xml,请问如何读取到?试了好几种路径都无法得到,说文件不存在. 解决方案 解决方案二:/项目名/spring/application.xml解决方案三:在WEB.XML里可以修改访问路径解决方案四:引用2楼baiwei422的回复: 在WEB.XML里可以修改访问路径 为什么我已经修改了web.xml中的contextConfigLoc