annotate Source/Data/DataProvider/PostgreSQLDataProvider.cs @ 5:f7d63a092920

Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author cin
date Tue, 10 Mar 2015 16:02:11 +0300
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using System.Data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using System.Data.Common;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 using Npgsql;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 namespace BLToolkit.Data.DataProvider
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 using Sql.SqlProvider;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 using BLToolkit.Mapping;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 public class PostgreSQLDataProvider : DataProviderBase
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 #region Configurable
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 public enum CaseConvert
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 None,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 Lower,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 Upper
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 public static CaseConvert QueryCaseConvert = CaseConvert.None;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 public static bool QuoteIdentifiers
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 get { return PostgreSQLSqlProvider.QuoteIdentifiers; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 set { PostgreSQLSqlProvider.QuoteIdentifiers = value; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 public override void Configure(System.Collections.Specialized.NameValueCollection attributes)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 var quoteIdentifiers = attributes["QuoteIdentifiers"];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 if (quoteIdentifiers != null)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 QuoteIdentifiers = Common.Convert.ToBoolean(quoteIdentifiers);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 var queryCaseConcert = attributes["QueryCaseConvert"];
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 if (queryCaseConcert != null)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 try
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 QueryCaseConvert = (CaseConvert)Enum.Parse(typeof(CaseConvert), queryCaseConcert, true);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45 catch { }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 base.Configure(attributes);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 public override IDbConnection CreateConnectionObject()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 return new NpgsqlConnection();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 public override DbDataAdapter CreateDataAdapterObject()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 return new NpgsqlDataAdapter();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 public override bool DeriveParameters(IDbCommand command)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 NpgsqlCommandBuilder.DeriveParameters((NpgsqlCommand)command);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 return true;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 public override void SetParameterValue(IDbDataParameter parameter, object value)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 if(value is Enum)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 var type = Enum.GetUnderlyingType(value.GetType());
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
74 value = (MappingSchema ?? Map.DefaultSchema).ConvertChangeType(value, type);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
75
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
76 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
77 base.SetParameterValue(parameter, value);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
78 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
79
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
80 public override object Convert(object value, ConvertType convertType)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
81 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
82 switch (convertType)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
83 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
84 case ConvertType.ExceptionToErrorNumber:
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
85 if (value is NpgsqlException)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
86 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
87 var ex = (NpgsqlException)value;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
88
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
89 foreach (NpgsqlError error in ex.Errors)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
90 return error.Code;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
91
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
92 return 0;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
93 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
94
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
95 break;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
96 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
97
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
98 return SqlProvider.Convert(value, convertType);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
99 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
100
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
101 public override Type ConnectionType
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
102 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
103 get { return typeof(NpgsqlConnection); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
104 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
105
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
106 public override string Name
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
107 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
108 get { return DataProvider.ProviderName.PostgreSQL; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
109 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
110
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
111 public override int MaxBatchSize
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
112 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
113 get { return 0; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
114 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
115
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
116 public override ISqlProvider CreateSqlProvider()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
117 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
118 return new PostgreSQLSqlProvider();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
119 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
120
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
121 public override void PrepareCommand(ref CommandType commandType, ref string commandText, ref IDbDataParameter[] commandParameters)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
122 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
123 if (QueryCaseConvert == CaseConvert.Lower)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
124 commandText = commandText.ToLower();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
125 else if (QueryCaseConvert == CaseConvert.Upper)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
126 commandText = commandText.ToUpper();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
127
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
128 base.PrepareCommand(ref commandType, ref commandText, ref commandParameters);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
129 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
130
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
131 public override bool CanReuseCommand(IDbCommand command, CommandType newCommandType)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
132 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
133 return command.CommandType == newCommandType;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
134 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
135
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
136 public override IDataReader GetDataReader(MappingSchema schema, IDataReader dataReader)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
137 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
138 return
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
139 dataReader is NpgsqlDataReader
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
140 ? new NpgsqlDataReaderEx(schema, (NpgsqlDataReader)dataReader)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
141 : base.GetDataReader(schema, dataReader);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
142 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
143
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
144 class NpgsqlDataReaderEx : IDataReader
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
145 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
146 private readonly NpgsqlDataReader _reader;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
147 private readonly MappingSchema _schema;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
148
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
149 public NpgsqlDataReaderEx(MappingSchema schema, NpgsqlDataReader reader)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
150 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
151 _reader = reader;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
152 _schema = schema;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
153 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
154
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
155 #region IDataReader Members
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
156
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
157 public void Close()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
158 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
159 _reader.Close();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
160 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
161
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
162 public int Depth
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
163 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
164 get { return _reader.Depth; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
165 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
166
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
167 public DataTable GetSchemaTable()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
168 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
169 return _reader.GetSchemaTable();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
170 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
171
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
172 public bool IsClosed
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
173 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
174 get { return _reader.IsClosed; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
175 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
176
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
177 public bool NextResult()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
178 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
179 return _reader.NextResult();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
180 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
181
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
182 public bool Read()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
183 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
184 return _reader.Read();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
185 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
186
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
187 public int RecordsAffected
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
188 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
189 get { return _reader.RecordsAffected; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
190 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
191
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
192 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
193
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
194 #region IDisposable Members
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
195
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
196 public void Dispose()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
197 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
198 _reader.Dispose();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
199 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
200
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
201 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
202
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
203 #region IDataRecord Members
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
204
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
205 public int FieldCount
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
206 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
207 get { return _reader.FieldCount; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
208 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
209
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
210 public bool GetBoolean(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
211 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
212 return _reader.GetBoolean(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
213 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
214
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
215 public byte GetByte(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
216 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
217 return _schema.ConvertToByte(_reader.GetValue(i));
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
218 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
219
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
220 public long GetBytes(int i, long fieldOffset, byte[] buffer, int bufferoffset, int length)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
221 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
222 return _reader.GetBytes(i, fieldOffset, buffer, bufferoffset, length);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
223 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
224
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
225 public char GetChar(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
226 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
227 return _reader.GetChar(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
228 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
229
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
230 public long GetChars(int i, long fieldoffset, char[] buffer, int bufferoffset, int length)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
231 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
232 return _reader.GetChars(i, fieldoffset, buffer, bufferoffset, length);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
233 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
234
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
235 public IDataReader GetData(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
236 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
237 return _reader.GetData(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
238 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
239
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
240 public string GetDataTypeName(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
241 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
242 return _reader.GetDataTypeName(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
243 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
244
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
245 public DateTime GetDateTime(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
246 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
247 return _reader.GetDateTime(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
248 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
249
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
250 public decimal GetDecimal(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
251 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
252 return _reader.GetDecimal(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
253 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
254
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
255 public double GetDouble(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
256 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
257 return _reader.GetDouble(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
258 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
259
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
260 public Type GetFieldType(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
261 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
262 return _reader.GetFieldType(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
263 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
264
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
265 public float GetFloat(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
266 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
267 return _reader.GetFloat(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
268 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
269
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
270 public Guid GetGuid(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
271 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
272 return _reader.GetGuid(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
273 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
274
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
275 public short GetInt16(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
276 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
277 return _reader.GetInt16(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
278 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
279
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
280 public int GetInt32(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
281 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
282 return _reader.GetInt32(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
283 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
284
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
285 public long GetInt64(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
286 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
287 return _reader.GetInt64(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
288 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
289
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
290 public string GetName(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
291 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
292 return _reader.GetName(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
293 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
294
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
295 public int GetOrdinal(string name)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
296 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
297 return _reader.GetOrdinal(name);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
298 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
299
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
300 public string GetString(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
301 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
302 return _reader.GetString(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
303 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
304
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
305 public object GetValue(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
306 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
307 return _reader.GetValue(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
308 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
309
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
310 public int GetValues(object[] values)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
311 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
312 return _reader.GetValues(values);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
313 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
314
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
315 public bool IsDBNull(int i)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
316 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
317 return _reader.IsDBNull(i);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
318 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
319
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
320 public object this[string name]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
321 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
322 get { return _reader[name]; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
323 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
324
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
325 public object this[int i]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
326 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
327 get { return _reader[i]; }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
328 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
329
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
330 #endregion
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
331 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
332 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
333 }