SqlError.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. //
  2. // System.Data.SqlClient.SqlError.cs
  3. //
  4. // Author:
  5. // Rodrigo Moya ([email protected])
  6. // Daniel Morgan ([email protected])
  7. // Tim Coleman ([email protected])
  8. //
  9. // (C) Ximian, Inc 2002
  10. // Copyright (C) Tim Coleman, 2002
  11. //
  12. using System;
  13. using System.Data;
  14. using System.Runtime.InteropServices;
  15. namespace System.Data.SqlClient {
  16. /// <summary>
  17. /// Describes an error from a SQL database.
  18. /// </summary>
  19. [Serializable]
  20. public sealed class SqlError
  21. {
  22. #region Fields
  23. byte theClass = 0;
  24. int lineNumber = 0;
  25. string message = "";
  26. int number = 0;
  27. string procedure = "";
  28. string server = "";
  29. string source = "";
  30. byte state = 0;
  31. #endregion // Fields
  32. #region Constructors
  33. internal SqlError (byte theClass, int lineNumber, string message, int number, string procedure, string server, string source, byte state)
  34. {
  35. this.theClass = theClass;
  36. this.lineNumber = lineNumber;
  37. this.message = message;
  38. this.number = number;
  39. this.procedure = procedure;
  40. this.server = server;
  41. this.source = source;
  42. this.state = state;
  43. }
  44. #endregion // Constructors
  45. #region Properties
  46. [MonoTODO]
  47. /// <summary>
  48. /// severity level of the error
  49. /// </summary>
  50. public byte Class {
  51. get { return theClass; }
  52. }
  53. [MonoTODO]
  54. public int LineNumber {
  55. get { return lineNumber; }
  56. }
  57. [MonoTODO]
  58. public string Message {
  59. get { return message; }
  60. }
  61. [MonoTODO]
  62. public int Number {
  63. get { return number; }
  64. }
  65. [MonoTODO]
  66. public string Procedure {
  67. get { return procedure; }
  68. }
  69. [MonoTODO]
  70. public string Server {
  71. get { return server; }
  72. }
  73. [MonoTODO]
  74. public string Source {
  75. get { return source; }
  76. }
  77. [MonoTODO]
  78. public byte State {
  79. get { return state; }
  80. }
  81. #endregion
  82. #region Methods
  83. [MonoTODO]
  84. public override string ToString ()
  85. {
  86. String toStr;
  87. String stackTrace;
  88. stackTrace = " <Stack Trace>";
  89. // FIXME: generate the correct SQL error string
  90. toStr = "SqlError:" + message + stackTrace;
  91. return toStr;
  92. }
  93. internal void SetClass (byte theClass)
  94. {
  95. this.theClass = theClass;
  96. }
  97. internal void SetLineNumber (int lineNumber)
  98. {
  99. this.lineNumber = lineNumber;
  100. }
  101. internal void SetMessage (string message)
  102. {
  103. this.message = message;
  104. }
  105. internal void SetNumber (int number)
  106. {
  107. this.number = number;
  108. }
  109. internal void SetProcedure (string procedure)
  110. {
  111. this.procedure = procedure;
  112. }
  113. internal void SetServer (string server)
  114. {
  115. this.server = server;
  116. }
  117. internal void SetSource (string source)
  118. {
  119. this.source = source;
  120. }
  121. internal void SetState (byte state)
  122. {
  123. this.state = state;
  124. }
  125. #endregion
  126. }
  127. }