📄 menuchildbean.java
字号:
package oa.bean;
import java.util.*;
import java.sql.*;
import oa.main.*;
import javax.swing.tree.DefaultMutableTreeNode;
public class MenuChildBean extends ParentBean {
int strID = -1;//菜单唯一编号
int strParentID = -1; //父菜单编号
public void setID(int o)//设置菜单唯一编号
{
strID = o;
}
public void setParentID(int o)//设置父菜单编号
{
strParentID = o;
}
public Hashtable getID3() //取得记录的三级菜单
{
Hashtable ht = new Hashtable();
Hashtable hash = (Hashtable) getOneData();
String strthis = (String) hash.get("ISTHIS");
String strparent = (String) hash.get("IDPARENT");
if (strthis.equals("1")) {
ht.put("ISID3", "no");
return ht;
} else {
ht.put("ISID3", "yes");
String sql = "select * from news.menu where id=" + strparent;
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try {
//取得列数和列名
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
if (rs.next())
for (int i = 1; i <= cols; i++) {
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
ht.put(field, value);
}
} catch (Exception e) {
System.out.println("运行时出错:" + e);
} finally {
if (rs != null)
try {
stmt = rs.getStatement();
rs.close();
} catch (Exception e) {
System.out.println("关闭记录集rs时出错" + e);
}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
System.out.println("关闭声明时statement出错" + e);
}
}
return ht;
}
}
public boolean getData() //取得一条记录的信息
{
Hashtable ht = new Hashtable();
String sql = "";
sql = "select * from news.menuchild where isthis=0 and idparent="
+ strParentID + "";
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try {
if (rs.next())
return false;
} catch (Exception e) {
System.out.println("运行时出错:" + e);
} finally {
if (rs != null)
try {
stmt = rs.getStatement();
rs.close();
} catch (Exception e) {
System.out.println("关闭记录集rs时出错" + e);
}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
System.out.println("关闭声明时statement出错" + e);
}
}
return true;
}
public Hashtable getOneData() //取得一条记录的信息
{
Hashtable ht = new Hashtable();
String sql = "";
sql = "select * from news.menuchild where ID=" + strID + "";
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try {
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= cols; i++) {
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
ht.put(field, value);
}
}
} catch (Exception e) {
System.out.println("运行时出错:" + e);
} finally {
if (rs != null)
try {
stmt = rs.getStatement();
rs.close();
} catch (Exception e) {
System.out.println("关闭记录集rs时出错" + e);
}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
System.out.println("关闭声明时statement出错" + e);
}
}
return ht;
}
//生成树并返回根节点
public Vector buildTree() {
Vector vt = new Vector();
String sql = " Select * from news.MENUCHILD " + " Where IDPARENT="
+ strParentID + " and ISTHIS=0 order by ID ";
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try {
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
// 结果集为空时返回
while (rs.next()) {
Hashtable hash = new Hashtable();
hash.clear();
for (int i = 1; i <= cols; i++) {
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
hash.put(field, value);
}
DefaultMutableTreeNode root = new DefaultMutableTreeNode(hash);
buildSubTree(root);
vt.add(root);
}
} catch (Exception e) {
System.out.println("运行时出错:" + e);
} finally {
if (rs != null)
try {
stmt = rs.getStatement();
rs.close();
} catch (Exception e) {
System.out.println("关闭记录集rs时出错" + e);
}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
System.out.println("关闭声明时statement出错" + e);
}
}
return vt;
}
//迭代生成树
private void buildSubTree(DefaultMutableTreeNode rootNode) {
String sql = "";
String ParentId = (String) ((Hashtable) rootNode.getUserObject())
.get("ID");
DefaultMutableTreeNode root = rootNode;
DefaultMutableTreeNode treeNode;
//选出rootNode的子节点
sql = " Select * from news.MENUCHILD " + " Where IDPARENT=" + ParentId
+ " and ISTHIS=1 order by ID ";
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try {
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount();
while (rs.next()) {
Hashtable hash = new Hashtable();
for (int i = 1; i <= cols; i++) {
String field = ds.toString(rsmd.getColumnName(i));
String value = ds.toString(rs.getString(i));
hash.put(field, value);
}
treeNode = new DefaultMutableTreeNode(hash);
root.add(treeNode);
buildSubTree(treeNode);
}
} catch (Exception e) {
System.out.println("运行时出错:" + e);
} finally {
if (rs != null)
try {
stmt = rs.getStatement();
rs.close();
} catch (Exception e) {
System.out.println("关闭记录集rs时出错" + e);
}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
System.out.println("关闭声明时statement出错" + e);
}
}
}
public int addMenu(Hashtable hash) //增加菜单维护表数据记录
{
String sql = "";
int intMax = db.makeID("MENUCHILD", "ID", "", "", true);
String strParent = ds.toString((String) hash.get("IDPARENT"));
String strBmname = ds.toString((String) hash.get("MENUCHILD"));// ds.toGBK((String)
// hash.get("MENUCHILD"));
String strIsthis = ds.toString((String) hash.get("ISTHIS"));
Vector vect = new Vector();
vect.add("MENUCHILD");
vect.add(addVector("ID", String.valueOf(intMax), "NUM"));
vect.add(addVector("IDPARENT", strParent, "NUM"));
vect.add(addVector("MENUCHILD", strBmname, "CHAR"));
vect.add(addVector("ISTHIS", strIsthis, "NUM"));
return insertRecord(vect);
}
public int modMenu(Hashtable hash) //修改菜单维护表数据记录
{
Vector vect = new Vector();
String strParent = ds.toString((String) hash.get("IDPARENT"));
String strBmname = ds.toString((String) hash.get("MENUCHILD"));// ds.toGBK((String)
// hash.get("MENUCHILD"));
String strIsthis = ds.toString((String) hash.get("ISTHIS"));
vect.add("MENUCHILD");
vect.add(addVector("IDPARENT", strParent, "NUM"));
vect.add(addVector("MENUCHILD", strBmname, "CHAR"));
vect.add(addVector("ISTHIS", strIsthis, "NUM"));
vect.add("ID=" + strID + "");
return updateRecord(vect);
}
public int delMenu() //删除菜单维护表数据记录
{
String sql = "";
sql = "select * from news.menuchild where idparent=" + strID
+ " and isthis=1";
ResultSet rs = selectRecord(sql);
Statement stmt = null;
try {
if (rs.next()) {
return 2;
} else {
sql = "delete menuchild where id=" + strID;
return deleteRecord(sql);
}
} catch (Exception e) {
System.out.println("运行时出错:" + e);
} finally {
if (rs != null)
try {
stmt = rs.getStatement();
rs.close();
} catch (Exception e) {
System.out.println("关闭记录集rs时出错" + e);
}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {
System.out.println("关闭声明时statement出错" + e);
}
}
return -1;
}
public static void main(String args[]) {
MenuChildBean mcb = new MenuChildBean();
mcb.setID(1);
System.out.println("begin\r\n\r\n");
System.out.println(mcb.getID3() + "\r\n\r\n");
System.out.println("\r\n\r\nend");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -