⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tablevalues.java

📁 农业银行ATM对帐查询系统后台类包的源代码,实现了FTP,数据库管理等等功能
💻 JAVA
字号:
package boco.DBManager.Tree;//******************************************************************************//:功能:TableValues及相关函数//:时间:2002-07//:作者:王建宾//:特殊描述::test:为DEBUG时启用//:程序描述:////******************************************************************************import java.util.*;import java.awt.*;import javax.swing.*;import javax.swing.tree.*;import javax.swing.table.*;import javax.swing.border.*;import java.sql.*;import javax.swing.table.AbstractTableModel;import javax.swing.event.TableModelEvent;import boco.shabank.dbconnection.*;//****************************************************************************//类名称:表格值模板//类功能:完成数据表格的值的显示//****************************************************************************public class TableValues extends AbstractTableModel {  Vector KeyAt;  Vector KeyType;  String sql;  String errMsg;  int columnSize;  Object temp;  Vector columnNames=new Vector();  Vector columnType=new Vector();  public Vector values=new Vector();  DBConnectionAny objDBConnection;//******************************************************************************//方法名称:构造函数//方法功能://******************************************************************************  public TableValues() {  }  //TableValues的值设定  public TableValues(TreePath pathnode,DefaultMutableTreeNode node,Vector Key,boolean isInp,String SqlStm) {    //初始化定义    int j=0;    int ColNums=0;    KeyAt=new Vector();    KeyType=new Vector();    columnSize=0;    temp=null;    sql = "";    errMsg = "success";    Vector tmpNull = new Vector();    ChineseTransfer A2C = new ChineseTransfer();    String URLName = pathnode.getPathComponent(1).toString();    //:test:System.out.println("URLName="+URLName);    String TableName = node.toString();    //:test:System.out.println("TableName="+TableName);    if(isInp){      sql = SqlStm;      //+" order by " + Key;    }    else{      if(Key.size()>0)        sql = "select * from " + TableName + " order by " + Key.elementAt(0);      else        sql = "select * from " + TableName;    }    //:test:System.out.println("sql:"+sql);    Connection m_Connection;    DBAccess db;    //:test:System.out.println("The url:"+URLName);    db =new DBAccess(URLName);    objDBConnection=objDBConnection.getInstance() ;    //连接数据源    try{      m_Connection = objDBConnection.getConnection(URLName) ;      ResultSet rs=db.executeQuery(m_Connection,sql);      ResultSetMetaData rsmd=rs.getMetaData();      ColNums = rsmd.getColumnCount();      //:test:System.out.println("Count:"+ColNums);      //取得数据表列值与关键字      for(int i=1;i<=ColNums;i++){        columnType.addElement(rsmd.getColumnTypeName(i));        columnNames.addElement(rsmd.getColumnName(i));      }      //:test:System.out.println("columnType:"+columnType);      //:test:System.out.println("column:"+columnNames);      //:test:System.out.println("the size:"+Key.size());      for(int at=0;at<Key.size();at++){        for(int i=1;i<=ColNums;i++){          if((Key.elementAt(at).toString().trim()).equalsIgnoreCase(rsmd.getColumnName(i))){            KeyAt.addElement(Integer.toString(i-1));            KeyType.addElement(rsmd.getColumnTypeName(i));          }        }      }      //:test:System.out.println("tvKeyAt:"+KeyAt);      //:test:System.out.println("tvKeyType:"+KeyType);      //置值给TableValues      while(rs.next()){        Vector Vtemp = new Vector();        for(j=0;j<ColNums;j++){          //:test:System.out.println("Column=" + (j+1));          //:test:System.out.println("StringValue=" + rs.getString(j+1));          //处理空值与中文转换          //if(URLName.equals("sybaccess")){          //  if(rs.getString(j+1)==null||rs.getString(j+1).trim().equals("null"))          //    Vtemp.addElement("");          //else          //    Vtemp.addElement(rs.getString(j+1));          //}          //else{          if(rs.getString(j+1)==null||rs.getString(j+1).trim().equals("null"))            Vtemp.addElement("");          else            Vtemp.addElement(A2C.AsciiToChineseString(rs.getString(j+1)));          //}        }        values.addElement(Vtemp);      }      //新增一空行,为增加一行时准备      for(int i=1;i<=ColNums;i++){        tmpNull.addElement("");      }      values.addElement(tmpNull);      //关闭连接,释放资源      rs.close();      objDBConnection.freeConnection(URLName,m_Connection) ;    }    catch(Exception ex){      errMsg = ex.getMessage();      System.out.println("message="+ex.getMessage()) ;    }  }//******************************************************************************//方法名称:取得关键字所在列数//方法功能:返回关键字所在列数//******************************************************************************  public Vector getKeyAt(){    return KeyAt;  }//******************************************************************************//方法名称:取得关键字数据类型//方法功能:返回关键字数据类型//******************************************************************************  public Vector getKeyType(){    return KeyType;  }//******************************************************************************//方法名称:取得表格列数目//方法功能:显示表格的时候,返回表格的列数目//******************************************************************************  public int getColumnCount() {    if(values.size()>0){      columnSize=((Vector)values.elementAt(0)).size();      //:test:System.out.println(columnSize);    }    return columnSize;  }//******************************************************************************//方法名称:取得表格指定行列的值//方法功能:显示表格的时候,返回表格的指定行列的数值//******************************************************************************  public Object getValueAt(int row, int column) {    if(values.size()>0){      temp=((Vector)values.elementAt(row)).elementAt(column);    }    return temp;  }//******************************************************************************//方法名称:取得表格行数//方法功能:显示表格的时候,返回表格行数//******************************************************************************  public int getRowCount() {    //:test:System.out.println(values.size());    return values.size();  }//******************************************************************************//方法名称:取得指定列的名称//方法功能:显示表格的时候,返回指定列的名称//******************************************************************************  public String getColumnName(int column){    return columnNames.elementAt(column).toString();  }//******************************************************************************//方法名称:取得指定所有列的名称//方法功能:显示表格的时候,返回所有列的名称//******************************************************************************  public Vector getAllColumnName(){    return columnNames;  }//******************************************************************************//方法名称:取得指定所有列类型的名称//方法功能:显示表格的时候,返回所有列类型的名称//******************************************************************************  public Vector getAllColumnTypeName(){    return columnType;  }//******************************************************************************//方法名称:取得指定列的类型名称//方法功能:显示表格的时候,返回指定列类型的名称//******************************************************************************  public String getColumnTypeName(int column){    return columnType.elementAt(column).toString();  }//******************************************************************************//方法名称:判断指定行列是否可以编辑//方法功能:显示表格的时候,判断指定行列是否可以编辑//******************************************************************************  public boolean isCellEditable(int row,int column){    return true;  }//******************************************************************************//方法名称:删除当前行//方法功能:删除相应的Value,显示//******************************************************************************  public void removeTableRows(int rows){    values.removeElementAt(rows);    this.fireTableDataChanged();  }//******************************************************************************//方法名称:取得返回信息//方法功能://******************************************************************************  public String getErrMsg()  {    if(errMsg==null)      errMsg="success";    return errMsg;  }//******************************************************************************//方法名称:编辑当前行//方法功能:根据当前行及行值设新值并刷新//******************************************************************************  public void updateTableRows(int rows,Vector value){    values.setElementAt(value,rows);    //:test:System.out.println("Object is:" + values);    this.fireTableDataChanged();  }//******************************************************************************//方法名称:新增一行//方法功能:插一行空值//******************************************************************************  public void addTableRows(){    Vector vtmp = new Vector();    for(int i=0;i<getColumnCount();i++){      vtmp.addElement("") ;    }    values.addElement(vtmp) ;    this.fireTableDataChanged() ;  }//******************************************************************************//方法名称:设定指定行列的值//方法功能:根据输入的参数设定指定行列的值//******************************************************************************  public void setValueAt(Object value,int rows,int cols){    ((Vector)values.elementAt(rows)).setElementAt(value,cols);    //:test:System.out.println("Object is:" + values);    this.fireTableDataChanged();  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -