| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- //------------------------------------------------------------------------------
- // <copyright file="DBConcurrencyException.cs" company="Microsoft">
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // </copyright>
- // <owner current="true" primary="true">[....]</owner>
- // <owner current="true" primary="false">[....]</owner>
- //------------------------------------------------------------------------------
- namespace System.Data {
- using System;
- using System.Globalization;
- using System.Runtime.Serialization;
- [Serializable]
- public sealed class DBConcurrencyException : SystemException {
- private DataRow[] _dataRows;
- public DBConcurrencyException() : this(Res.GetString(Res.ADP_DBConcurrencyExceptionMessage), null) { // MDAC 84941
- }
- public DBConcurrencyException(string message) : this(message, null) {
- }
- public DBConcurrencyException(string message, Exception inner) : base(message, inner) {
- HResult = HResults.DBConcurrency; // MDAC 84941
- }
- public DBConcurrencyException(string message, Exception inner, DataRow[] dataRows) : base(message, inner) {
- HResult = HResults.DBConcurrency; // MDAC 84941
- _dataRows = dataRows;
- }
- // runtime will call even if private...
- private DBConcurrencyException(SerializationInfo si, StreamingContext sc) : base(si, sc) {
- // dataRow = (DataRow) si.GetValue("dataRow", typeof(DataRow)); - do not do this till v.next with serialization support for DataRow. MDAC 72136
- }
- [System.Security.Permissions.SecurityPermissionAttribute(System.Security.Permissions.SecurityAction.LinkDemand, Flags=System.Security.Permissions.SecurityPermissionFlag.SerializationFormatter)]
- override public void GetObjectData(SerializationInfo si, StreamingContext context) { // MDAC 72003
- if (null == si) {
- throw new ArgumentNullException("si");
- }
- // si.AddValue("dataRow", dataRow, typeof(DataRow)); - do not do this till v.next with serialization support for DataRow. MDAC 72136
- base.GetObjectData(si, context);
- }
- public DataRow Row { // MDAC 55735
- get {
- DataRow[] rows = _dataRows;
- return (((null != rows) && (0 < rows.Length)) ? rows[0] : null);
- }
- set {
- _dataRows = new DataRow[1] { value };
- }
- }
-
- public int RowCount {
- get {
- DataRow[] dataRows = _dataRows;
- return ((null != dataRows) ? dataRows.Length : 0);
- }
- }
-
- public void CopyToRows(DataRow[] array) {
- CopyToRows(array, 0);
- }
-
- public void CopyToRows(DataRow[] array, int arrayIndex) {
- DataRow[] dataRows = _dataRows;
- if (null != dataRows) {
- dataRows.CopyTo(array, arrayIndex);
- }
- }
- }
- }
|