|
|
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
Есть код: Код: 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. При вызове в функции AddAbiturient функции InsertPrioritets(connStr, identity, dict); программа вываливается на исключении "ошибка внешнего ключа", где внешний ключ - это identity. Почему после закрытия соединения транзакция не коммитится? Пробовал коммитить вручную - та же ситуация. Есть подозрение, что это из-за того, что методы класса - статические... Или VS чего-то там оптимизирует... Но все же, что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:14 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
кто то увидел в этом коде начало транзакции? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:29 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
Так она должна автоматом завершаться после закрытия соединения. Или я неправ? P.S. И кстати, транзакцию вручную я тоже создавал и коммитил. Результат аналогичный... Единственное что меня смущает - это то, что в отладчике при открытии соединения в функции InsertPrioritets(...) в AddAbiturient(...)[где я уже закрыл соединение] отладчик показывает, что соединение открыто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:33 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
товарисч, ты не понял, тебе говорят что слово Transaction в твоем коде вообще отсутствует, о чем речь? у тебя вообще ошибка не об этом, понимать-то что читаешь умеем? ошибка ключа - это ошибка ключа, дубликат суешь вероятно. А соединение уходит в пул, поэтому и не закрывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:40 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
п.с. апдейт: "внешний ключ", это, я как понимаю, вероятней всего foreign key, а значит ты суешь запись, которая неверно ссылается на другую таблицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:41 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
SMAKSx86 P.S. И кстати, транзакцию вручную я тоже создавал и коммитил. Результат аналогичный... Так и писал SqlTransaction trans = cn.BeginTransaction(); а после выполнения коммитил trans.Commit(); Читать я умею. А вот за инфу о пуле - спасибо. Не знал. Щас буду самообразованием заниматься. P.S. "Не надо так с нами разговаривать" (c) где-то на форуме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:44 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
snack ты чето ваще на другой волне :) пора книжки читать... либо изъясняйся ,так чтобы тебя понимали:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:47 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
зып.с. апдейт: "внешний ключ", это, я как понимаю, вероятней всего foreign key, а значит ты суешь запись, которая неверно ссылается на другую таблицу Аха :-) Вот я сначала добавляю инфу о абитуриенте, получаю его id из identity. Закрываю соединение. Потом открываю новое и делаю вставку специальностей в соответствии с приоритетом. В таблице foreign key из таблицы с абитуриентами. Так вот после закрытия соединения и при открытии нового в другой функции в таблице с абитуриентами записи по какой-то причине еще нет. Потому и ругается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:47 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
авторТак вот после закрытия соединения и при открытии нового в другой функции в таблице с абитуриентами записи по какой-то причине еще нет. ты можешь этот относительный путь,преобразовать в абсолютный,а то не очень ясно,я потерялся ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:49 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
Да мне писать очень долго :-) Прошу прощения... Я сейчас тему пула соединений разбираю. Вот если ничего не получится - я еще напишу ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:56 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
SMAKSx86 зып.с. апдейт: "внешний ключ", это, я как понимаю, вероятней всего foreign key, а значит ты суешь запись, которая неверно ссылается на другую таблицу Аха :-) Вот я сначала добавляю инфу о абитуриенте, получаю его id из identity. Закрываю соединение. Потом открываю новое и делаю вставку специальностей в соответствии с приоритетом. В таблице foreign key из таблицы с абитуриентами. Так вот после закрытия соединения и при открытии нового в другой функции в таблице с абитуриентами записи по какой-то причине еще нет. Потому и ругается... делайте всё это в одной транзакции... или у вас однопользовательское приложение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 16:59 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
Сначала Есть таблица с абитуриентами. Есть таблица со списком специальностей, на которые абитуриент хотел бы поступить. Часть схемы в аттаче... 1) Вставляется новая запись с инфой об абитуриенте(ABITURIENTS) 2) получаем id этой записи 3) вставляем в таблицу со специальностями(ABITURIENT_SPECIALITY) записи типа |ID_абитуриента|КОД_СПЕЦИАЛЬНОСТИ|ПРИОРИТЕТ| Дело в том, что после закрытия соединения в функции AddAbiturient, и открытия нового соединения в функции InsertPrioritets запись с ID, которую только что вставили в таблице ABITURIENTS еще не существует. Поэтому InsertPrioritets не может выполнить вставку. Что нужно сделать, чтобы при вызове InsertPrioritets новая запись уже существовала бы в таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 17:10 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
SMAKSx86Есть код: У тебя есть все шансы стать вторым vbnet2000 . Пальцы не отсохли всю эту ерунду писать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 17:11 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
Нахлобуч SMAKSx86Есть код: У тебя есть все шансы стать вторым vbnet2000 . Пальцы не отсохли всю эту ерунду писать? А вот обо...рать кого-нить - это обязательно? План выполняете? Не хотите отвечать по существу вопроса - не отвечайте, проходите мимо. А то уже две строки написали. Не лень было?... И вот еще вопрос - а что тут криминального? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 17:17 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
buser Кажется, осознал ошибку. Сейчас буду переделывать. Спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 17:20 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
SMAKSx86А вот обо...рать кого-нить - это обязательно? План выполняете? Никого не об..рал. SMAKSx86 Не хотите отвечать по существу вопроса - не отвечайте, проходите мимо. А то уже две строки написали. Не лень было?... По существу вопроса уже другие ответили. И не лениво, нет. SMAKSx86 И вот еще вопрос - а что тут криминального? Вот скажите. Неужели после написания уже трех строк, подобных Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 17:49 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
Пожалуйста, покажите другой способ. Не могу понять, что тут неправильного. И чем это плохо? Я, в общем, много не знаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 18:05 |
|
||
|
Ошибка. Не завершается транзакция
|
|||
|---|---|---|---|
|
#18+
SMAKSx86Пожалуйста, покажите другой способ. Не могу понять, что тут неправильного. И чем это плохо? Я, в общем, много не знаю... Если посмотреть сюда , то твой код превращается в: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2008, 18:20 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=81&tid=1352240]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
23ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 368ms |

| 0 / 0 |
