?? 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();
//更新表格內(nèi)容
tm.fireTableStructureChanged();
while(conIns.rs.next()){
Vector rec_vector = new Vector();
for(int i =1; i<=rsmd.getColumnCount(); i++){
//從結(jié)果集中取數(shù)據(jù)放入向量rec_vector中
rec_vector.addElement(conIns.rs.getObject(i));
}
//向量rec_vector加入向量vect中
vect.addElement(rec_vector);
}
//更新表格,顯示向量vect的內(nèi)容
tm.fireTableStructureChanged();
//查詢完成后,關(guān)閉該SQL
conIns.stm.close();
//重新執(zhí)行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();
//標(biāo)簽名
private String labels[] ={ "設(shè)備編號" , "設(shè)備類型",
"參與的項(xiàng)目編號"
};
//面板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("項(xiàng)目編號", 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();
//設(shè)定數(shù)據(jù)
//聲明一個(gè)類AbstractTableModel對象
//實(shí)現(xiàn)AbstractTableModel對象tm中的方法
private AbstractTableModel tm = new AbstractTableModel(){
//取得表格列數(shù)
public int getColumnCount(){
return labels.length;
}
//取得表格行數(shù)
public int getRowCount(){
return vect.size();
}
//取得單元格中的屬性值
public Object getValueAt(int aRow, int aColumn) {
Vector row = (Vector)vect.elementAt(aRow);
return row.elementAt(aColumn);
}
//設(shè)置表格列名
public String getColumnName(int column){
if (labels[column] != null) {
return labels[column];
} else {
return "";
}
}
//數(shù)據(jù)模型不可編輯,該方法設(shè)置為空
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;
}
}
//設(shè)置單元格不可編輯,為缺省實(shí)現(xiàn)
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;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -