uest.getParameter("transSrc");
String transDst = request.getParameter("transDst");
...
doPost() 方法(如清单 5 中所示)通过从所接收 POST 请求获得所有参数开始着手。接下来,将采用此数据验证已经输入的职员 ID,并将此信息存储到数据库中。参见清单 6。
清单 6. 处理 POST 请求,并将它存储到数据库中
...
String transSrc = request.getParameter("transSrc");
String transDst = request.getParameter("transDst");
boolean result = false;
if ((empID_str != null) && (empID_str.length() > 0)) {
int empID = Integer.parseInt(empID_str);
int amount = Integer.parseInt(amount_str);
Driver driver = null;
try {
driver = (Driver)
(com.ibm.db2.jcc.DB2Driver.class).newInstance();
} catch(Exception e) {
throw new IllegalArgumentException("Unable to load, " +
"instantiate, or register driver " + driver +
": "+e.getMessage());
}
try {
Properties prop = new Properties();
prop.put("user", "bankuser");
prop.put("password", "bankpass");
Connection conn = driver.
connect("jdbc:derby:net://localhost:1527/BANK;",
prop);
String sql = "insert into transactions "+
"(employeeid, employeetitle, transactiondate, "+
"transactiontype, amount, transactionSrc, "+
"transactionDst) values "+
"(?, ?, ?, ?, ?, ?, ?)";
PreparedStatement statement =
conn.prepareStatement(sql);
statement.setInt(1, empID);
statement.setString(2, empTitle);
statement.setString(3, transDate);
statement.setString(4, transType);
statement.setInt(5, amount);
statement.setString(6, transSrc);
statement.setString(7, transDst);
statement.execute();
result = true;
...
使用BIRT和Eclipse从数据库中提取信息(12)
时间:2011-02-15 IBM Tyler Anderson
如果输入的是一个有效职员 ID,则使用 BIRT 中设置的 Driver 建立到 BANK 数据库的连接。然后创建一个可参数化的 INSERT SQL 语句,来自 POST 请求的数据将变成参数。最后执行 SQL 语句,并将 result 设置为 true(以前为 false),指示数据库事务中没有发生错误/异常。最后一段将通过捕获所有异常开始。参见清单 7。
清单 7. 使用 servlet 开发用户界面
...
statement.execute();
result = true;
} catch(Throwable e) {
result = false;
e.printStackTrace();
System.out.println(e.getMessage());
System.out.println("Error
|