KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > transactions > UpdateForm


1 package transactions;
2
3 import dinamica.*;
4
5 /**
6  * Insert master and detail records into database
7  * @author YourName
8  */

9 public class UpdateForm extends GenericTransaction
10 {
11
12     public int service(Recordset inputParams) throws Throwable JavaDoc
13     {
14
15         //reuse superclass code
16
int rc = super.service(inputParams);
17
18         //generate sql INSERT using request parameters
19
String JavaDoc sql = getResource("update.sql");
20         sql = this.getSQL(sql, inputParams);
21
22         //create list of fields in the order of the ? markers
23
String JavaDoc[] params =
24         {
25             "a_text",
26             "a_integer",
27             "a_double",
28             "a_comboid",
29             "a_date"
30         };
31
32         //get db object and execute query
33
Db db = getDb();
34         db.exec(sql, inputParams, params);
35
36         //delete all details related to this master
37
sql = getSQL(getResource("delete-detail.sql"), inputParams);
38         db.exec(sql);
39
40         //create recordset to hold categoryid values
41
Recordset detail = new Recordset();
42         detail.append("categoryid", java.sql.Types.INTEGER);
43         
44         //fill it
45
String JavaDoc v[] = getRequest().getParameterValues("categoryid");
46         for (int i=0;i<v.length;i++)
47         {
48             detail.addNew();
49             detail.setValue("categoryid", new Integer JavaDoc(v[i]));
50         }
51
52         //generate sql INSERT using request parameters
53
sql = getResource("insert-detail.sql");
54         sql = this.getSQL(sql, inputParams);
55
56         //create list of fields in the order of the ? markers
57
String JavaDoc[] detParams = {"categoryid"};
58
59         //insert detail
60
db.execBatch(sql, detail, detParams);
61
62         //return success
63
return rc;
64         
65     }
66
67 }
68
Popular Tags