我建的表
create table Z01_toot(
id number(6) primary key,
c_name varchar2(20),
c_type varchar2(20),
c_date date,
people varchar2(10),
money number(10,2),
states varchar2(20),
res varchar2(50)
);insert into Z01_toot values(id_seq.nextval,'合同1','框架合同',to_date('2010-01-10','yyyy-mm- dd'),'toot',1200.12,'待归档','这是一个合同');能正常插入,在数据库中用sql语句查c_date 是2011-01-10
可是在jsp页面中查询显示是2011-01-10 00:00:00.0现在的问题是我在jsp页面编辑修改表内容(不改c_date)后,再把数据update回数据库,就提示‘仅能绑定要插入 LONG 列的 LONG 值’
我猜可能是那个‘00:00:00.0’的问题,怎么使jsp页面中也只显示2011-01-10啊,求教啊
create table Z01_toot(
id number(6) primary key,
c_name varchar2(20),
c_type varchar2(20),
c_date date,
people varchar2(10),
money number(10,2),
states varchar2(20),
res varchar2(50)
);insert into Z01_toot values(id_seq.nextval,'合同1','框架合同',to_date('2010-01-10','yyyy-mm- dd'),'toot',1200.12,'待归档','这是一个合同');能正常插入,在数据库中用sql语句查c_date 是2011-01-10
可是在jsp页面中查询显示是2011-01-10 00:00:00.0现在的问题是我在jsp页面编辑修改表内容(不改c_date)后,再把数据update回数据库,就提示‘仅能绑定要插入 LONG 列的 LONG 值’
我猜可能是那个‘00:00:00.0’的问题,怎么使jsp页面中也只显示2011-01-10啊,求教啊
scott@YPCOST> select sysdate from dual;SYSDATE
-------------------
2011-01-12 10:45:35scott@YPCOST> select to_char(sysdate,'yyyymmdd') from dual;TO_CHAR(
--------
20110112
根据id查到部分信息:
String sql = "select c_name,to_char(c_date,'yyyy-mm-dd'),people,res from Z01_toot where id=?";
然后再更新:
String sql="update Z01_toot set c_name=?,to_date(c_date=?,‘yyyy-mm-dd'),people=?,res=?,money=? where id=?";错误提示还是‘仅能绑定要插入 LONG 列的 LONG 值’,纠结啊,是不是update语句有问题啊
--c_date=to_date(?,'yyyy-mm-dd')
--引号好用英文的 ?的格式要是'2011-01-12' 这样的
-6,7楼,我好好的对照了代码和插入的值,是没错的现在我感到非常奇怪的一点是,我直接在数据库的控制台用
update Z01_toot set c_name='genxin',c_date=to_date('2011-1-12','yyyy-mm-dd') where id=3;
是更新成功的而在jsp页面中
String sql="update Z01_toot set c_name=?,c_date=to_date(?,'yyyy-mm-dd')where id=?";
ps = con.prepareStatement(sql);
ps.setString(1,c_name);
ps.setString(2,c_date);
ps.setString(3,id);
ps.executeUpdate();
更新失败,提示错误(各变量已经获取表单中的值了,且格式正确的)
--你的 c_date 应该是String类型的吧?格式必须是'yyyy-mm-dd'
--例如:
String sql="update Z01_toot set c_name=?,c_date=to_date(?,'yyyy-mm-dd')where id=?";
ps = con.prepareStatement(sql);
ps.setString(1,c_name);
ps.setString(2,"2011-01-12"); --注意这里
ps.setString(3,id);
ps.executeUpdate();