|
Нарушение параллеллизма при обновлении записей
|
|||
---|---|---|---|
#18+
Есть база данных MS Access с единственной таблицей Tlb1 из двух колонок: ID – счётчик и Dates – с типом данных DateTime Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Для обработки базы данных используется такая программка: Dim dConn As OleDbConnection dConn = New OleDbConnection(connStr)’ где connStr – заданная строка соединения с БД Dim dAdapt_t As New OleDbDataAdapter("SELECT * FROM Tlb1 ORDER BY id", dConn) Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(dAdapt_t) Dim Tlb1 As New DataTable dAdapt_t.Fill(Tlb1) For i = 0 To Tlb1.Rows.Count-1 Tlb1.Rows(i)("Dates") = Tlb1.Rows(i)("Dates").AddSeconds(1) dAdapt_t.Update(Tlb1) Next Почему-то в этом примере на 7-й записи (i=6) возникает ошибка: "Нарушение параллелизма: UpdateCommand затронула 0 из ожидаемых 1 записей." Если начать работу цикла с восьмой записи (i=7) эта же ошибка возникнет на 15-й записи (i=14). Объясните, что я делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2012, 00:55 |
|
Нарушение параллеллизма при обновлении записей
|
|||
---|---|---|---|
#18+
А если посмотреть builder.GetUpdateCommand().CommandText , то что мы увидим? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2012, 13:34 |
|
Нарушение параллеллизма при обновлении записей
|
|||
---|---|---|---|
#18+
PAА если посмотреть builder.GetUpdateCommand().CommandText , то что мы увидим? String = "UPDATE Tlb1 SET id = ?, Dates = ? WHERE ((id = ?) AND ((? = 1 AND Dates IS NULL) OR (Dates = ?)))" Только, если честно, не совсем понимаю, что это значит. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2012, 23:59 |
|
|
start [/forum/topic.php?fid=17&fpage=33&tid=1350324]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 159ms |
0 / 0 |