由如下的jdbc问题:
如下表:
create table EGO.EGO_EXTJS2X_GRIDLIST
(
INNERID NVARCHAR2(50),
TEXT NVARCHAR2(20),
PARENTID NVARCHAR2(50),
LEAF NVARCHAR2(10),
ORDERNUM NUMBER
)
tablespace STUDYDB
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
comment on column EGO.EGO_EXTJS2X_GRIDLIST.INNERID
is '唯一标志';
comment on column EGO.EGO_EXTJS2X_GRIDLIST.TEXT
is '结点名称';
comment on column EGO.EGO_EXTJS2X_GRIDLIST.PARENTID
is '父结点唯一标志';
comment on column EGO.EGO_EXTJS2X_GRIDLIST.LEAF
is '是否为子结点(1为是,0为否)';
comment on column EGO.EGO_EXTJS2X_GRIDLIST.ORDERNUM
is '排序的标志列';有如下语句:
insert into EGO_EXTJS2X_GRIDLIST
(INNERID, TEXT, PARENTID, LEAF, ORDERNUM)
values
(
sys_guid(),
'2',
'00',
'false',
(
select max(ORDERNUM) + 1
from EGO_EXTJS2X_GRIDLIST t1
where t1.parentid = '00'
)
)
标红部分现在需要用jdbc实现:JDBCConnection dbc=new JDBCConnection();
Connection conn=dbc.getConnection();
String sql="insert into EGO_EXTJS2X_GRIDLIST values(?,?,?,?,?)";
boolean f=false;
try {
node.setInnerid(GetID.getUniqueString(20,false,"yyyyMMddHms"));
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, node.getInnerid());
ps.setString(2, node.getText());
ps.setString(3, node.getParentid());
ps.setString(4, "1");
//第五个参数,由上面得红色查询语句获得,用PreparedStatement怎么表达?可不可以不再写一个查询
f=ps.execute();
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
f=false;
e.printStackTrace();
}
JDBCConnection.closeConnection(conn);jdbc高手请指点,有经验的程序员请指点.
如下表:
create table EGO.EGO_EXTJS2X_GRIDLIST
(
INNERID NVARCHAR2(50),
TEXT NVARCHAR2(20),
PARENTID NVARCHAR2(50),
LEAF NVARCHAR2(10),
ORDERNUM NUMBER
)
tablespace STUDYDB
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
comment on column EGO.EGO_EXTJS2X_GRIDLIST.INNERID
is '唯一标志';
comment on column EGO.EGO_EXTJS2X_GRIDLIST.TEXT
is '结点名称';
comment on column EGO.EGO_EXTJS2X_GRIDLIST.PARENTID
is '父结点唯一标志';
comment on column EGO.EGO_EXTJS2X_GRIDLIST.LEAF
is '是否为子结点(1为是,0为否)';
comment on column EGO.EGO_EXTJS2X_GRIDLIST.ORDERNUM
is '排序的标志列';有如下语句:
insert into EGO_EXTJS2X_GRIDLIST
(INNERID, TEXT, PARENTID, LEAF, ORDERNUM)
values
(
sys_guid(),
'2',
'00',
'false',
(
select max(ORDERNUM) + 1
from EGO_EXTJS2X_GRIDLIST t1
where t1.parentid = '00'
)
)
标红部分现在需要用jdbc实现:JDBCConnection dbc=new JDBCConnection();
Connection conn=dbc.getConnection();
String sql="insert into EGO_EXTJS2X_GRIDLIST values(?,?,?,?,?)";
boolean f=false;
try {
node.setInnerid(GetID.getUniqueString(20,false,"yyyyMMddHms"));
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, node.getInnerid());
ps.setString(2, node.getText());
ps.setString(3, node.getParentid());
ps.setString(4, "1");
//第五个参数,由上面得红色查询语句获得,用PreparedStatement怎么表达?可不可以不再写一个查询
f=ps.execute();
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
f=false;
e.printStackTrace();
}
JDBCConnection.closeConnection(conn);jdbc高手请指点,有经验的程序员请指点.
解决方案 »
- java中怎么设置多条语句若执行都执行若不执行都不执行
- 泛型机制!!编译通不过,不知道哪里错了!跪求!
- Error creating bean with name 'dataSource' defined
- Validator的使用问题!
- hibernate中 出现错误
- java UDP发送数据用不用多线程?
- 时间格式转化问题!急!
- hibernate关联关系问题(解决此问题给500分) zeq258进来接分
- 初学jsp,请问用dreamvaver mx 做的jsp页面发布步骤!用tomcat5,j2sdk-1_4_2_07
- 关于JBOSS的问题
- struts2上传问题
- [java基础,很紧急,大家帮忙解决一下。]
insert into EGO_EXTJS2X_GRIDLIST (INNERID, TEXT, PARENTID, LEAF, ORDERNUM)
select sys_guid(),'2', '00', 'false',max(ORDERNUM)+1
from EGO_EXTJS2X_GRIDLIST
where parentid = '00';
from EGO_EXTJS2X_GRIDLIST t1
where t1.parentid = '00'
赋值给一个java变量ORDERNUM
然后再设置第5个参数ps.setString(5, ORDERNUM );
用PreparedStatement无法获取查询结果
sql="select max(ORDERNUM) + 1 as m
from EGO_EXTJS2X_GRIDLIST t1
where t1.parentid = '00' "
ps = con.prepareStatement(sql,
ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_UPDATABLE);rs = ps.executeQuery();maxrownum=rs.getInt("m"); rs.insertRow(); System.out.println("-------------更新一条记录-------------"); //构建行数据 rs.updateString("", "uuuu"); rs.updateRow();
代码没有写全 只是提供个思路 自己再找下可更新记录的知识点 是可以解决的