📄 tablevalues.java
字号:
package boco.transmonitor.tranmonitor;//******************************************************************************//:功能: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 { int ColNums; String errMsg; String columnName; Vector Vtemp; Vector values; Vector columnNames; //连接数据库变量 DBConnectionManager objDBConnection; Connection m_Connection; DBAccess db; String sql;//******************************************************************************//方法名称:构造函数//方法功能://****************************************************************************** public TableValues(Vector sqlCon) { //初始化定义 getSQLstring getSql; sql = ""; errMsg = "success"; ColNums = 0; columnName = ""; Vtemp = new Vector(); values = new Vector(); columnNames = new Vector(); ChineseTransfer A2C = new ChineseTransfer(); //:test:System.out.println(sql); objDBConnection = null; m_Connection = null; db = null; sql = ""; //连接数据源 db=new DBAccess(); objDBConnection=objDBConnection.getInstance() ; try{ getSql = new getSQLstring(); sql = getSql.getQueryString(sqlCon); System.out.println("The SQL Is:" + sql); m_Connection = objDBConnection.getConnection("access") ; ResultSet rs=db.executeQuery(m_Connection,sql); //System.out.println("Connection OK?"); ResultSetMetaData rsmd=rs.getMetaData(); ColNums = rsmd.getColumnCount(); //:test:System.out.println("COLNUMS:"+ColNums); //:test:System.out.println("tvKey:"+Key); //取得数据表列值与关键字 //取得数据表列值 for(int i=1;i<=ColNums;i++){ columnName = rsmd.getColumnName(i).trim(); if(columnName.equalsIgnoreCase("uaoptrnno"))columnNames.addElement("中间业务流水号"); if(columnName.equalsIgnoreCase("trancode"))columnNames.addElement("交易码"); if(columnName.equalsIgnoreCase("accnum1"))columnNames.addElement("交易帐号"); if(columnName.equalsIgnoreCase("trnamt"))columnNames.addElement("交易金额"); if(columnName.equalsIgnoreCase("retcode"))columnNames.addElement("帐务返回码"); if(columnName.equalsIgnoreCase("tpetrndate"))columnNames.addElement("交易日期"); if(columnName.equalsIgnoreCase("tpetrntime"))columnNames.addElement("交易时间"); if(columnName.equalsIgnoreCase("tpetrnno"))columnNames.addElement("系统日志号"); if(columnName.equalsIgnoreCase("vchno"))columnNames.addElement("传票号"); if(columnName.equalsIgnoreCase("procode"))columnNames.addElement("省市代码"); if(columnName.equalsIgnoreCase("branch"))columnNames.addElement("行号"); if(columnName.equalsIgnoreCase("accnum2"))columnNames.addElement("对方帐号"); if(columnName.equalsIgnoreCase("revresult"))columnNames.addElement("冲正结果"); if(columnName.equalsIgnoreCase("revjrnno"))columnNames.addElement("冲正日志号"); if(columnName.equalsIgnoreCase("revvchno"))columnNames.addElement("冲正传票号"); if(columnName.equalsIgnoreCase("trntype"))columnNames.addElement("交易类型"); if(columnName.equalsIgnoreCase("reqid"))columnNames.addElement("设备编号"); if(columnName.equalsIgnoreCase("reqtype"))columnNames.addElement("交易来源"); if(columnName.equalsIgnoreCase("tradetype"))columnNames.addElement("业务种类"); } //:test:System.out.println("column"+i+":"+columnNames.elementAt(i-1)); //置值给TableValues while(rs.next()){ Vector Vtemp = new Vector(); for(int j=0;j<ColNums;j++){ //:test:System.out.println("Column=" + (j+1)); //:test:System.out.println("StringValue=" + rs.getString(j+1)); //处理空值与中文转换 //显示交易类型 if(j==15){ if(rs.getString(j+1)==null||rs.getString(j+1).trim().equals("null")) Vtemp.addElement(""); else{ if(rs.getString(j+1).trim().equals("1")) Vtemp.addElement("正交易"); else if(rs.getString(j+1).trim().equals("2")) Vtemp.addElement("冲正"); else if(rs.getString(j+1).trim().equals("3")) Vtemp.addElement("管理"); else if(rs.getString(j+1).trim().equals("4")) Vtemp.addElement("查询"); else Vtemp.addElement("未知类型"); } } 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); } //关闭连接,释放资源 rs.close(); objDBConnection.freeConnection("access",m_Connection) ; } catch(Exception ex){ errMsg = ex.getMessage(); System.out.println("message="+ex.getMessage()) ; } } //****************************************************************************** //方法名称:取得表格列数目 //方法功能:显示表格的时候,返回表格的列数目 //****************************************************************************** public int getColumnCount() { int columnSize = 0; if(values.size()>0){ columnSize=((Vector)values.elementAt(0)).size(); //:test:System.out.println(columnSize); } return columnSize; } //****************************************************************************** //方法名称:取得表格指定行列的值 //方法功能:显示表格的时候,返回表格的指定行列的数值 //****************************************************************************** public Object getValueAt(int row, int column) { Object temp = null; 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 boolean isCellEditable(int row,int column){ return false; } //****************************************************************************** //方法名称:取得返回信息 //方法功能: //****************************************************************************** public String getErrMsg() { if(errMsg==null) errMsg="success"; return errMsg; } //****************************************************************************** //方法名称:回滚刷新 //方法功能: //****************************************************************************** public void refreshTable(){ 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(); } //****************************************************************************** //方法名称:编辑取消 //方法功能: //****************************************************************************** public void editCanceled(){ } //****************************************************************************** //方法名称:编辑当前行 //方法功能:根据输入的参数 //****************************************************************************** public void editTalbeColunm(int rows,int colunm){ }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -