KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > teamkonzept > webman > mainint > db > queries > oracle > TKDBPropGroupNew


1 /*
2  * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/webman/mainint/db/queries/oracle/Attic/TKDBPropGroupNew.java,v 1.5 2001/06/11 09:14:12 alex Exp $
3  *
4  */

5 package com.teamkonzept.webman.mainint.db.queries.oracle;
6
7 import java.sql.*;
8
9 import com.teamkonzept.db.*;
10 import com.teamkonzept.webman.mainint.db.queries.properties.*;
11 import com.teamkonzept.webman.mainint.WebmanExceptionHandler;
12
13 /*
14  * TKDBPropNew
15  * input "PROPGROUP_NAME"
16  * output neuer DS
17  * erzeugt neuen Eintrag in PROPERTIES
18  */

19 public class TKDBPropGroupNew extends TKExtendedPrepQuery
20 {
21
22     public final static boolean isPrepared = true;
23
24     public final static String JavaDoc[] paramOrder = { "PROPGROUP_NAME" };
25
26     public final static Object JavaDoc[][] paramTypes =
27     { {"PROPGROUP_NAME", new Integer JavaDoc(Types.VARCHAR)} };
28
29     public final static boolean[] setRelevants = { true };
30
31 /* public final static String sqlString =
32
33         "DECLARE @PID int " +
34
35         "BEGIN TRANSACTION " +
36         
37         "SELECT " +
38         " @PID=ISNULL(MAX(PROPERTY_GROUP_ID)+1, 0) " +
39         "FROM " +
40         " PROPERTY_GROUP " +
41         
42         "INSERT INTO " +
43         "PROPERTY_GROUP " +
44         " (PROPERTY_GROUP_ID, NAME) " +
45         "VALUES (@PID, ?) " +
46         
47         "COMMIT TRANSACTION "; */

48
49     protected static Class JavaDoc[] queryClasses = {
50     SelectMaxPropertyGroup.class, // [0]
51
InsertPropertyGroup.class // [1]
52
};
53
54     public boolean execute()
55     {
56     try
57     {
58
59         init(queryClasses); // init query objects
60

61         // BEGIN TRANSACTION
62
boolean isNotOpen = aTKDBConnection.isAutoCommit();
63         if (isNotOpen)
64         {
65         TKDBManager.beginTransaction(); // begin transaction
66
}
67
68         Object JavaDoc propGroupId = null;
69         // OLD: SELECT @PID=ISNULL(MAX(PROPERTY_GROUP_ID)+1, 0) FROM PROPERTY_GROUP
70
// NEW: SELECT DBStringFactory.nvl(MAX(PROPERTY_GROUP_ID)+1, 0) FROM PROPERTY_GROUP
71
// CLASS: SelectMaxPropertyGroup.class
72
// [0]
73
queries[0].execute();
74         ResultSet rs = queries[0].fetchResultSet();
75         if (rs != null && rs.next())
76         {
77         propGroupId = rs.getObject(1);
78         }
79
80
81         // OLD: INSERT INTO PROPERTY_GROUP (PROPERTY_GROUP_ID, NAME) VALUES (@PID, ?)
82
// NEW: INSERT INTO PROPERTY_GROUP (PROPERTY_GROUP_ID, NAME) VALUES (?, ?)
83
// PARAMS: PROPGROUP_ID, PROPGROUP_NAME
84
// CLASS: InsertPropertyGroup.class
85
// [1]
86
queries[1].setQueryParams("PROPGROUP_ID", propGroupId);
87         queries[1].setQueryParams("PROPGROUP_NAME",
88                       queryParams.get("PROPGROUP_NAME"));
89         queries[1].execute();
90
91         // COMMIT TRANSACTION
92
if (isNotOpen)
93         {
94         aTKDBConnection.commitTransaction(); // commit all changes
95
}
96
97     }
98     catch(Throwable JavaDoc t)
99     {
100         TKDBManager.safeRollbackTransaction(t);
101     }
102     return hasResults();
103     }
104
105
106     public void initQuery(Connection con)
107     {
108     super.initQuery(con,
109             isPrepared,
110             paramOrder, paramTypes, setRelevants, sqlString);
111     }
112 }
113
Popular Tags