OSDN Git Service

18c49a81e2d946ffd1b01f0c1ef08f0af71cb553
[ea2ddl/ea2ddl.git] / ea2ddl-gen / dbflute / templates / om / csharp / allcommon / s2dao / internal / sqlhandler / InternalCommandContextHandler.vmnet
1 \r
2 using System;\r
3 using System.Data;\r
4 \r
5 using Seasar.Dao;\r
6 using Seasar.Extension.ADO;\r
7 using Seasar.Extension.ADO.Impl;\r
8 using Seasar.Framework.Util;\r
9 \r
10 using ${glPackageBaseCommon};\r
11 using ${glPackageBaseCommonUtil};\r
12 \r
13 namespace ${glPackageBaseCommonS2DaoInternalSqlHandler} {\r
14 \r
15     public class ${glInternalCommandContextHandler} : ${glInternalBasicHandler} {\r
16 \r
17         // ===============================================================================\r
18         //                                                                       Attribute\r
19         //                                                                       =========\r
20         protected ICommandContext commandContext;\r
21     \r
22         // ===============================================================================\r
23         //                                                                     Constructor\r
24         //                                                                     ===========\r
25         public ${glInternalCommandContextHandler}(IDataSource dataSource, ICommandFactory commandFactory, ICommandContext commandContext)\r
26             : base(dataSource, commandContext.Sql, commandFactory) {\r
27             this.commandContext = commandContext;\r
28         }\r
29 \r
30         // ===============================================================================\r
31         //                                                                         Execute\r
32         //                                                                         =======\r
33         public int Execute(Object[] args) {\r
34             IDbConnection conn = Connection;\r
35             try {\r
36                 return Execute(conn, commandContext);\r
37             } finally {\r
38                 Close(conn);\r
39             }\r
40         }\r
41 \r
42         protected int Execute(IDbConnection conn, ICommandContext context) {\r
43             LogSql(context.BindVariables, GetArgTypes(context.BindVariables));\r
44             IDbCommand cmd = Command(conn);\r
45             try {\r
46                 BindArgs(cmd, context.BindVariables, context.BindVariableTypes);\r
47                 return ExecuteUpdate(cmd);\r
48             } finally {\r
49                 Close(cmd);\r
50             }\r
51         }\r
52     }\r
53 }