|
|
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
ADOConnection1->Open(); ADOConnection1->BeginTrans(); ADOQuery1->SQL->Add("CREATE TABLE myTable(id NUMBER(5))"); ADOQuery1->ExecSQL(); ADOConnection1->RollbackTrans(); Почему при использовании данного кода объект myTable все равно оказывается в базе хотя я отменяю транзакцию. Если кто использовал классы TADOConnection TADOQuery из BC6.0 помогите!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 14:10 |
|
||
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
почитай про DDL и DML и их использования внутри транзакций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 14:38 |
|
||
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
Ты хочешь сказать что DDL инструкции выполняются вне транзакции или просто объект TADOQuery использует изолированную транзакцию. Кстати если знаешь где почитать пиши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 15:11 |
|
||
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
А у тебя Query на Connection завязана, легче ADOConnection->Execute(SQL); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 17:07 |
|
||
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
ADOConnection2->Open(); ADOConnection2->BeginTrans(); ADOConnection2->Execute("CREATE TABLE JJ(ID NUMBER(5))",cmdText); ADOConnection2->RollbackTrans(); При использовании этого кода транзакция все равно не откатывается! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 10:26 |
|
||
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
У вас какая СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 10:52 |
|
||
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
Oracle 9i ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 11:08 |
|
||
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
Читайте в документации к нему. В MS SQL, например, на DDL в транзакциях накладываются очень серьезные ограничения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 11:20 |
|
||
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
DDL в оракле всегда комитится ... единственный выход написать свою обертку для create c ссоответствующим drop ну и соответственно свой ролбак типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. тогда твой код можно переписать примерно так Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 12:03 |
|
||
|
BC6.0 TADOConnection - проблема использования
|
|||
|---|---|---|---|
|
#18+
опечатка ;))) void myRolbackTrans(TADOConnection * conn,string table_name) { if( ! table_name.IsEmpty()) conn->ExecuteSQL("DROP TABLE "+table_name); conn->RollbackTrans(); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2003, 12:05 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32343920&tid=2035696]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 334ms |

| 0 / 0 |
