* MonoTouch/MonoPInvokeCallbackAttribute.cs: Added.
[mono.git] / mcs / class / Mono.Data / DataTools.cs
1 //\r
2 // Mono.Data.DataTools\r
3 //\r
4 // Authors:\r
5 //   Brian Ritchie (brianlritchie@hotmail.com) \r
6 //  \r
7 //\r
8 // Copyright (C) Brian Ritchie, 2002\r
9 // \r
10 //\r
11 \r
12 //\r
13 // Permission is hereby granted, free of charge, to any person obtaining\r
14 // a copy of this software and associated documentation files (the\r
15 // "Software"), to deal in the Software without restriction, including\r
16 // without limitation the rights to use, copy, modify, merge, publish,\r
17 // distribute, sublicense, and/or sell copies of the Software, and to\r
18 // permit persons to whom the Software is furnished to do so, subject to\r
19 // the following conditions:\r
20 // \r
21 // The above copyright notice and this permission notice shall be\r
22 // included in all copies or substantial portions of the Software.\r
23 // \r
24 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
25 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
26 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
27 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
28 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
29 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
30 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
31 //\r
32 using System;\r
33 using System.Data;\r
34 \r
35 namespace Mono.Data\r
36 {\r
37         /// <summary>\r
38         /// Summary description for ProviderTools.\r
39         /// </summary>\r
40 #if NET_2_0\r
41         [Obsolete("ProviderFactory in assembly Mono.Data has been made obsolete by DbProviderFactories in assembly System.Data.")]\r
42 #endif\r
43         public class DataTools\r
44         {\r
45                 public DataTools()\r
46                 {\r
47                 }\r
48 \r
49                 static public IDataParameter AddParameter(IDbCommand Cmd, string ParameterName, DbType DbType, \r
50                         ParameterDirection Direction)\r
51                 {\r
52                         if (Cmd == null) \r
53                                 throw new System.ArgumentNullException ("Cmd");\r
54                         if (ParameterName == null) \r
55                                 throw new System.ArgumentNullException ("ParameterName");\r
56 \r
57                         IDataParameter param = Cmd.CreateParameter ();\r
58                         Cmd.Parameters.Add (param);\r
59                         param.ParameterName = ParameterName;\r
60                         param.Direction = Direction;\r
61                         param.DbType = DbType;\r
62                         return param;\r
63                 }\r
64 \r
65                 static public IDataParameter AddParameter(IDbCommand Cmd, string ParameterName, DbType DbType)\r
66                 {\r
67                         if (Cmd == null) \r
68                                 throw new System.ArgumentNullException ("Cmd");\r
69                         if (ParameterName == null) \r
70                                 throw new System.ArgumentNullException("ParameterName");\r
71 \r
72                         IDataParameter param = Cmd.CreateParameter ();\r
73                         Cmd.Parameters.Add (param);\r
74                         param.ParameterName = ParameterName;\r
75                         param.DbType = DbType;\r
76                         return param;\r
77                 }\r
78 \r
79                 static public DataSet FillDataSet (IDbConnection conn, string SelectCommand)\r
80                 {\r
81                         if (conn == null) \r
82                                 throw new System.ArgumentNullException ("conn");\r
83                         if (SelectCommand == null) \r
84                                 throw new System.ArgumentNullException ("SelectCommand");\r
85 \r
86                         DataSet ds = new DataSet ();\r
87                         IDbDataAdapter adapter = ProviderFactory.CreateDataAdapter (conn, SelectCommand);\r
88                         if (conn.State != ConnectionState.Open)\r
89                                 conn.Open ();\r
90                         adapter.Fill (ds);\r
91                         return ds;\r
92                 }\r
93 \r
94                 static public DataSet FillDataSet(IDbCommand SelectCommand)\r
95                 {\r
96                         if (SelectCommand == null) \r
97                                 throw new System.ArgumentNullException ("SelectCommand");\r
98 \r
99                         DataSet ds = new DataSet ();\r
100                         IDbDataAdapter adapter = ProviderFactory.CreateDataAdapter (SelectCommand);\r
101                         if (adapter.SelectCommand.Connection.State != ConnectionState.Open)\r
102                                 adapter.SelectCommand.Connection.Open ();\r
103                         adapter.Fill (ds);\r
104                         return ds;\r
105                 }\r
106 \r
107                 static public DataSet FillDataSet(string ConfigSetting, string SelectCommand)\r
108                 {\r
109                         if (ConfigSetting == null) \r
110                                 throw new System.ArgumentNullException ("ConfigSetting");\r
111                         if (SelectCommand == null) \r
112                                 throw new System.ArgumentNullException ("SelectCommand");\r
113 \r
114                         IDbConnection conn = ProviderFactory.CreateConnectionFromConfig (ConfigSetting);\r
115                         conn.Open ();\r
116                         DataSet ds = null;\r
117                         try\r
118                         {\r
119                                 ds = new DataSet ();\r
120                                 IDbDataAdapter adapter = ProviderFactory.CreateDataAdapter (conn, SelectCommand);\r
121                                 adapter.Fill (ds);\r
122                         }\r
123                         finally\r
124                         {\r
125                                 conn.Close ();\r
126                         }\r
127                         return ds;\r
128                 }\r
129 \r
130 \r
131         }\r
132 }\r
133 \r