|
|
|
Подключения к SqlServer
|
|||
|---|---|---|---|
|
#18+
Помогите разобраться с подключением к SqlServer. Как корректнее использовать подключения? 1. Использовать конструкцию using(SqlConnection sqlConn = new SqlConnection(String ConnStr)) { sqlConn.Open; . . . } 2. ...или Просто SqlConnection sqlConn = new SqlConnection(String ConnStr) sqlConn.Open(); . . . sqlConn.Close(); Хочу реализовать класс который передает готовый объект подключения через свойства остальным классам. Т.е. один раз создал подключение и использовать его одно (открывать и закрывать когда надо). Вариант № 1 не подходит, так как там неявно вызывается Dispose() и подчищает строку подключения и другие значения. Приходиться постоянно создовать новый объект подключения. Вариает 2 тоже не совсем подходит. Там нужно передавать строку подключения, хотя строка практически всегде одна и та же подключение берется из пула, но не красиво. Вот вопрос: каким способом можно организовать еще такой механизм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 11:11 |
|
||
|
Подключения к SqlServer
|
|||
|---|---|---|---|
|
#18+
Дак сделайте экзмепляр класса SqlConnection атрибутом какого-либо своего класса. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 11:45 |
|
||
|
Подключения к SqlServer
|
|||
|---|---|---|---|
|
#18+
Sa, можно подробнее, пожадуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 12:22 |
|
||
|
Подключения к SqlServer
|
|||
|---|---|---|---|
|
#18+
Вот вариант исполнения абстрактного класса, от которого наследуются все объекты бизнес-логики. Снаружи есть еще класс SqlConnectionManager, который занимается спрашиванием паролей и явок :-) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. Ну и пример класса, который унаследован от этого абстрактного класса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Тут конечно будет многое непонятно, там еще атрибутами передается название процедуры и набор параметров, но сама суть - создать абстрактный класс, а потом для каждого действия бизнеслогики - свой класс, унаследованный от базового StoredProcedure и вызывать его статичный метод Execute, который создает копию класса бизнеслогики и собственно производит действия. Полный код сейчас привести не могу, так как проект в жуткой переработке - в настоящий момент все разломано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 15:40 |
|
||
|
Подключения к SqlServer
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ---- www.hramin.jino-net.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2006, 11:05 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=34185677&tid=1353030]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 501ms |

| 0 / 0 |
