1 6 7 package albel.tags.table.test; 8 9 13 import java.sql.*; 14 import java.util.*; 15 16 public class TestHsqlHandler implements albel.tags.table.model.IRowHandler{ 17 18 private java.sql.Connection c; 19 private String sql1= 20 "CREATE MEMORY TABLE a1("+ 21 "NAME VARCHAR(50),"+ 22 "CNT NUMERIC);"; 23 private String inssql= 24 "INSERT INTO A1(NAME,CNT) "+ 25 "VALUES (?,?)"; 26 private String updsql= 27 "UPDATE A1 SET NAME=?,CNT=? WHERE NAME=?"; 28 private String selsql= 29 "SELECT NAME,CNT FROM A1"; 30 private String delsql= 31 "DELETE FROM A1 WHERE NAME=?"; 32 33 public TestHsqlHandler() throws Exception { 34 Class.forName ( "org.hsqldb.jdbcDriver" ); 35 c = DriverManager.getConnection ("jdbc:hsqldb:tabletagtest", "sa", ""); 36 c.setAutoCommit(true); 37 try 38 { 39 Statement stm1=c.createStatement(); 40 stm1.execute(sql1); 41 } 42 catch (Exception e) 43 { 44 e.printStackTrace(); 45 } 46 } 47 48 public void handleCreate(albel.tags.table.model.Table t, albel.tags.table.model.Cell[] cells) throws albel.tags.table.model.TableTagException { 49 try 50 { 51 PreparedStatement pstm=c.prepareStatement(inssql); 52 pstm.setString(1, cells[0].getValue()); 53 String v="0"; 54 if(cells[1].getValue()!=null && cells[1].getValue().length()>0) 55 v=cells[1].getValue(); 56 pstm.setInt(2, Integer.parseInt(v)); 57 pstm.execute(); 58 } 59 catch (SQLException sex) 60 { 61 throw new albel.tags.table.model.TableTagException(sex); 62 } 63 } 64 65 public void handleDelete(albel.tags.table.model.Row row) throws albel.tags.table.model.TableTagException { 66 try 67 { 68 PreparedStatement pstm=c.prepareStatement(delsql); 69 String val=row.getTable().getCell(row,"name").getValue(); 70 pstm.setString(1, val); 71 pstm.execute(); 72 } 73 catch (SQLException sex) 74 { 75 throw new albel.tags.table.model.TableTagException(sex); 76 } 77 } 78 79 public java.util.List handleLoad() throws albel.tags.table.model.TableTagException { 80 List l=new ArrayList(); 81 try 82 { 83 PreparedStatement pstm=c.prepareStatement(selsql); 84 ResultSet rs=pstm.executeQuery(); 85 while (rs.next()) 86 { 87 TestBean tb=new TestBean(); 88 tb.setName(rs.getString("NAME")); 89 tb.setCount(rs.getInt("CNT")); 90 l.add(tb); 91 } 92 rs.close(); 93 pstm.close(); 94 } 95 catch (SQLException sex) 96 { 97 throw new albel.tags.table.model.TableTagException(sex); 98 } 99 return l; 100 } 101 102 public void handleUpdate(albel.tags.table.model.Table t, albel.tags.table.model.Cell[] cells) throws albel.tags.table.model.TableTagException { 103 try 104 { 105 PreparedStatement pstm=c.prepareStatement(updsql); 106 pstm.setString(1, cells[0].getValue()); 107 pstm.setInt(2, Integer.parseInt(cells[1].getValue())); 108 pstm.setString(3, t.getCell(cells[0]).getValue()); 109 pstm.execute(); 110 } 111 catch (SQLException sex) 112 { 113 throw new albel.tags.table.model.TableTagException(sex); 114 } 115 } 116 117 } 118 | Popular Tags |