KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > transactions > SaveForm2


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

9 public class SaveForm2 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("insert.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         //create recordset to hold categoryid values
37
Recordset detail = new Recordset();
38         detail.append("categoryid", java.sql.Types.INTEGER);
39         
40         //fill it
41
String JavaDoc v[] = getRequest().getParameterValues("categoryid");
42         for (int i=0;i<v.length;i++)
43         {
44             detail.addNew();
45             detail.setValue("categoryid", new Integer JavaDoc(v[i]));
46         }
47
48         //generate sql INSERT using request parameters
49
sql = getResource("insert-detail.sql");
50         sql = this.getSQL(sql, inputParams);
51
52         //create list of fields in the order of the ? markers
53
String JavaDoc[] detParams = {"categoryid"};
54
55         //insert detail
56
db.execBatch(sql, detail, detParams);
57
58         //return success
59
return rc;
60         
61     }
62
63 }
64
Popular Tags