oracle数据库中的表:gs_gsitem_list
gs_gsitem_list字段:gs_hkrno varchar, exp:1.1.1,1.2.2,1.1.1.1.4...
gs_total_zje int.
用java和jdbc连接数据库实现根据gs_hkrno的树节点和叶子的关系,从叶子节点着层统计gs_total_zje的值。最终算出根节点gs_total_zje的金额(值)。
java算法如下:
package com.orc;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Test2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Statement st = Test.conn();
Statement st2 = Test.conn();
String sql1 = "select gs_hkrno,gs_total_zje from gs_gsitem_list";
int con =0;
try {
for(int i=10;i>=3;i--)
{
//int i=10;
int com = 0;
ResultSet rs1 = st.executeQuery(sql1);
while(rs1.next())
{
com++;
con++;
// 得到完整的编号
String chkno = rs1.getString("gs_hkrno");
// System.out.println("编号是:"+chkno);
// 根据.将编号拆开为数组
String chkN[] = chkno.split("\\.");
// 获得该编号的父编号
int index = chkno.lastIndexOf(".");
String parentchk = chkno.substring(0, index);
String zzb = parentchk + "._";
// 获得数组的长度
int arrayLength = chkN.length;
System.out.println("all rows is:" + com + " con is:"
+ con + " i+1 is:" + (i + 1));
if ((i + 1) == arrayLength)
{
System.out.println("*********************************");
// 得到该叶子的值的计算和
/*
* String sql2 = "select sum(gs_total_zje) from gs_gsitem_list where gs_hkrno like '"
+ zzb + "'";
ResultSet rs2 = st.executeQuery(sql2);
int zje = 0;
while (rs2.next()) {
zje += rs2.getInt(1);
}
System.out.println("zje is:" + zje);
*/
String sql3 = "update gs_gsitem_list set gs_total_zje=(select sum(gs_total_zje) from gs_gsitem_list where gs_hkrno like '"
+ zzb + "') where gs_hkrno='" + parentchk + "'";
st2.executeUpdate(sql3);
System.out.println("*********************");
}
}
}
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
一些java操作数据库的代码演示,数据库采用基础的access数据库,包括增加删除、查找和修改。里面有jdbc预处理以及一些2.0以后增加的新的特性支持。适合初学者学习。例子比较简单都是基础的带main方法的,可以直接...
JAVA操作数据库HIBERNATE MYBATIS JDBC JAVA ORACLE MYSQL
"JAVA操作数据库三层"是指使用Java语言设计的一种常见的软件架构模式,即MVC(Model-View-Controller)模型,通常用于构建数据库驱动的应用程序。在这个架构中,三层分别是表现层(View)、业务逻辑层(Controller/...
在这个名为"JAVA操作数据库模板代码"的压缩包中,我们有两个关键文件:`ConnToDB.java`和`DBConf.properties`。这两个文件共同构成了一个简单的JDBC数据库操作模板。 首先,`DBConf.properties`文件是配置文件,...
【Java操作数据库实验】主要涉及Java编程语言与数据库交互的基础知识,通过设计和实现一个学生管理数据库应用软件,让学生理解数据库应用软件的构建过程,并掌握Java GUI编程、JDBC连接和数据库操作。以下是对这些...
java操作数据库及文件的简单工具;java操作数据库及文件的简单工具;java操作数据库及文件的简单工具; 数据迁移的时候,自己写的。在这里保存一份,以便以后使用。 因为简单,所以强大
java 操作数据库 3实例 (三种不同数据库操作增删改查) 1.实际用到什么数据库替换相应的JDBC驱动包 2.已经封装接口增删改查 3.表结构在项目txt文本中,对应的驱动链接Driver_comment.txt中有说明
简单的实现增删改,适合初学者,无框架,简单的熟悉java与数据库的操作
用java访问数据库,以及数据库中存储过程的应用,JDBC的应用
JDBC 允许开发者使用 Java 语言来操作数据库,执行 SQL 语句,查询数据等。 为什么需要 Jar 包? Jar 包是 Java 项目中用来存放类库和资源文件的存档文件。 在 Java 项目中,我们需要将 MySQL 的 Jar 包导入到项目...
本文阐述了Java数据库操作的基本流程,介绍了几个常用的重要操作技巧。
### Java多线程操作数据库:深入解析与应用 在当今高度并发的应用环境中,Java多线程技术被广泛应用于处理数据库操作,以提升系统的响应速度和处理能力。本文将基于一个具体的Java多线程操作数据库的应用程序,深入...
本文使用java中的反射技术,对DML和DQL进行封装,使的对数据库的CRUD操作更加简洁明了,只需调用函数即可完成所要执行的功能。并且使用.properties对数据库的配置进行了分离,采用dao,entity,utils等简单的命名规范...
在这个主题中,"java界面操作数据库" 主要涉及如何利用Java的图形用户界面(GUI)库来设计可视化界面,以及如何利用Java的数据访问技术如JDBC(Java Database Connectivity)来执行数据库的增删改查操作。...
神通数据库驱动jar,Java 连接神通数据库驱动包(亲测有效)神通数据库驱动jar,Java 连接神通数据库驱动包(亲测有效)神通数据库驱动jar,Java 连接神通数据库驱动包(亲测有效)神通数据库驱动jar,Java 连接神通...
Java数据库驱动包是Java应用程序与各种数据库之间进行通信的关键组件。在Java中,JDBC(Java Database Connectivity)是一个标准API,允许程序员用Java语言来访问和处理存储在各种数据库中的数据。这个压缩包包含了...
使用这些驱动,你可以编写Java代码来执行Oracle数据库的查询和其他操作。 2. **mysql-connector-java-5.1.7-bin.jar** 是MySQL的JDBC驱动,用于连接MySQL数据库。这个版本是5.1系列中的一个,支持MySQL 5.1.x版本。...
Java数据库编程通常涉及到与数据库...总的来说,Navicat for MySQL是Java数据库开发中不可或缺的一款实用软件,它提供了全面的数据库管理和开发功能,让Java程序员能够更加专注于业务逻辑,而不是基础的数据库操作。
java连接PI数据库查询修改的列子