2002-12-05 Daniel Morgan <danmorg@sc.rr.com>
[mono.git] / mcs / class / System.Data.OracleClient / System.Data.OracleClient / OracleCommand.cs
1 // 
2 // OracleCommand.cs
3 //
4 // Part of the Mono class libraries at
5 // mcs/class/System.Data.OracleClient/System.Data.OracleClient
6 //
7 // Assembly: System.Data.OracleClient.dll
8 // Namespace: System.Data.OracleClient
9 //
10 // Author: Daniel Morgan <danmorg@sc.rr.com>
11 //
12 // Copyright (C) Daniel Morgan, 2002
13 //
14 // Licensed under the MIT/X11 License.
15 //
16
17 using System;
18 using System.Data;
19 using System.Data.OracleClient.OCI;
20
21 namespace System.Data.OracleClient
22 {
23         public class OracleCommand
24         {
25                 string sql = "";
26                 OracleConnection conn = null;
27
28                 public OracleCommand ()
29                 {
30                         
31                 }
32
33                 public int ExecuteNonQuery () 
34                 {
35                         int rowsAffected = -1;
36
37                         if(conn == null)
38                                 throw new Exception("Connection is null");
39                         if(conn.State != ConnectionState.Open)
40                                 throw new Exception("ConnectionState not Open");
41                         if(sql.Equals(""))
42                                 throw new Exception("CommandText is StringEmpty");
43
44                         Int32 status;
45                         status = conn.Oci.PrepareAndExecuteNonQuerySimple (sql);
46                         if(status != 0) {
47                                 string statusText;
48                                 statusText = conn.Oci.CheckError(status);
49                                 string msg = 
50                                         "SQL Error: [" + 
51                                         sql + "] " +
52                                         statusText;
53                                 throw new Exception(msg);
54                         }
55
56                         return rowsAffected;
57                 }
58
59                 public string CommandText {
60                         get {
61                                 return sql;
62                         }
63                         set {
64                                 sql = value;
65                         }
66                 }
67
68                 public OracleConnection Connection {
69                         get {
70                                 return conn;
71                         }
72                         set {
73                                 conn = value;
74                         }
75                 }
76         }
77 }