📄 equipmentrecordtable.java
字号:
private void commitData(){
try{
ResultSetMetaData rsmd = conIns.rs.getMetaData();
for(int i =1 ; i<= fields.size(); i++) {
JTextField txtField = (JTextField)fields.get(i-1);
String value = txtField.getText().trim();
String name = rsmd.getColumnName(i).trim().toUpperCase();
conIns.rs.updateString(name, value);
txtField.setEditable(false);
}
if(isInsert)
conIns.rs.insertRow();
else
conIns.rs.updateRow();
conIns.rs.moveToCurrentRow();
panelButtonGroup1.setVisible(true);
button_insert.setEnabled(true);
button_update.setEnabled(true);
button_delete.setEnabled(true);
button_commite.setEnabled(false);
button_cancel.setEnabled(false);
conIns.rs.refreshRow();
loadData();
enableButton();
}catch(Exception e){
System.out.print("Error in commit data." +e);
System.exit(1);
}
}
private void cancelData(){
try{
for(int i =1; i<=fields.size(); i++){
JTextField txtField = (JTextField)fields.get(i-1);
txtField.setEditable(false);
}
conIns.rs.moveToCurrentRow();
panelButtonGroup1.setVisible(true);
button_insert.setEnabled(true);
button_update.setEnabled(true);
button_delete.setEnabled(true);
button_commite.setEnabled(false);
button_cancel.setEnabled(false);
conIns.rs.refreshRow();
loadData();
enableButton();
}catch(Exception e){
System.exit(1);
}
}
private void deleteData(){
try{
int CursorPos = conIns.rs.getRow();
conIns.rs.deleteRow();
conIns.rs.absolute(CursorPos-1);
conIns.rs.refreshRow();
loadData();
enableButton();
}catch(Exception e){
System.out.print("Error in delete Data." +e);
System.exit(1);
}
}
private void dataQuery(){
try{
ResultSetMetaData rsmd = conIns.rs.getMetaData();
conIns.stm = conIns.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
if(txtFieldQue.getText().trim().equals(""))
conIns.rs = conIns.stm.executeQuery("select * from asset");
else
conIns.rs = conIns.stm.executeQuery("select * from asset where project_ID = "
+ txtFieldQue.getText().trim());
//初始化向量对象
vect.removeAllElements();
//更新表格内容
tm.fireTableStructureChanged();
while(conIns.rs.next()){
Vector rec_vector = new Vector();
for(int i =1; i<=rsmd.getColumnCount(); i++){
//从结果集中取数据放入向量rec_vector中
rec_vector.addElement(conIns.rs.getObject(i));
}
//向量rec_vector加入向量vect中
vect.addElement(rec_vector);
}
//更新表格,显示向量vect的内容
tm.fireTableStructureChanged();
//查询完成后,关闭该SQL
conIns.stm.close();
//重新执行SQL
openDB();
} catch(Exception e){
System.out.print("Error in Query Data." + e);
System.exit(1);
}
}
//打开表
private void openDB() {
try{
conIns.stm = conIns.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
conIns.rs = conIns.stm.executeQuery("select * from asset");
conIns.rs.next();
} catch(Exception e){
System.out.print("Error in open table." + e);
System.exit(1);
}
}
//提取字段信息
private void loadData(){
try{
ResultSetMetaData rsmd = conIns.rs.getMetaData();
for(int i =1; i<=fields.size(); i++)
{
String value = " ";
String name = rsmd.getColumnName(i).trim();
value = conIns.rs.getString(name);
JTextField txtField = (JTextField) fields.get(i-1);
txtField.setText(value);
}
}catch(Exception e){
System.out.print("Error in load data." + e);
System.exit(1);
}
}
private void enableButton() {
try{
button_first.setEnabled(!conIns.rs.isFirst());
button_previous.setEnabled(!conIns.rs.isFirst());
button_next.setEnabled(!conIns.rs.isLast());
button_last.setEnabled(!conIns.rs.isLast());
}catch (Exception e){
System.out.print("Error in enable button" +e);
System.exit(1);
}
}
//-----------------------------------------------------------
//面板panelLabel
private JPanel panelLabel = new JPanel();
//标签名
private String labels[] ={ "设备编号" , "设备类型",
"参与的项目编号"
};
//面板panelText
private JPanel panelText = new JPanel();
//文本框
//面板panel_label_text
private JPanel panel_label_text = new JPanel();
//面板panelButtonGroup1
private JPanel panelButtonGroup1 = new JPanel();
//按钮组1
private JButton button_first = new JButton("第一条");
private JButton button_previous= new JButton("前一条");
private JButton button_next= new JButton("下一条");
private JButton button_last= new JButton("最后一条");
//面板panelButtonGroup2
private JPanel panelButtonGroup2 = new JPanel();
//按钮组2
private JButton button_insert= new JButton("新增");
private JButton button_update= new JButton("修改");
private JButton button_delete= new JButton("删除");
private JButton button_commite= new JButton("提交");
private JButton button_cancel= new JButton("取消");
private JButton button_quit= new JButton("退出");
//面板panelQuery
private JPanel panelQuery = new JPanel();
//label
private JLabel label_que = new JLabel("项目编号", 0);
//文本框
private JTextField txtFieldQue = new JTextField(40);
//按钮
private JButton button_que = new JButton("查询");
//面板panelTable
private JPanel panelTable = new JPanel();
private JScrollPane panelScroll;
//表格
//声明向量对象
//private Vector rows = new Vector();
//private Vector columnname = new Vector();
private Vector vect = new Vector();
//设定数据
//声明一个类AbstractTableModel对象
//实现AbstractTableModel对象tm中的方法
private AbstractTableModel tm = new AbstractTableModel(){
//取得表格列数
public int getColumnCount(){
return labels.length;
}
//取得表格行数
public int getRowCount(){
return vect.size();
}
//取得单元格中的属性值
public Object getValueAt(int aRow, int aColumn) {
Vector row = (Vector)vect.elementAt(aRow);
return row.elementAt(aColumn);
}
//设置表格列名
public String getColumnName(int column){
if (labels[column] != null) {
return labels[column];
} else {
return "";
}
}
//数据模型不可编辑,该方法设置为空
public void setValueAt(Object value, int row,int column){}
//取得列所属对象类
public Class getColumnClass(int column) {
int type;
try {
type = conIns.rs.getMetaData().getColumnType(column+1);
}
catch (SQLException e) {
return super.getColumnClass(column);
}
switch(type) {
case Types.CHAR:
case Types.VARCHAR:
case Types.LONGVARCHAR:
return String.class;
case Types.BIT:
return Boolean.class;
case Types.TINYINT:
case Types.SMALLINT:
case Types.INTEGER:
return Integer.class;
case Types.BIGINT:
return Long.class;
case Types.FLOAT:
case Types.DOUBLE:
return Double.class;
case Types.DATE:
return java.sql.Date.class;
default:
return Object.class;
}
}
//设置单元格不可编辑,为缺省实现
public boolean isCellEditable(int row,int column){
return false;
}
};
private JTable table_que;
//面板panel_que_table
private JPanel panel_que_table = new JPanel();
//面板panel_buttongroup1_text_buttongruop2
private JPanel panel_buttongroup1_label_text_buttongruop2 = new JPanel();
//整体
private Container contentPane = new Container();
private Vector fields = new Vector();
private conDB conIns;
private boolean isInsert;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -