|
ExecSQL и несколько инструкций в строке
|
|||
---|---|---|---|
#18+
Есть поле в БД, в котором хранится структура временной БД для её создания во время работы программы. s:= SQLtb.FieldAsBlobText(SQLtb.FieldIndex['rData']); TempDB.BeginTransaction; TempDB.execsql(s); TempDB.Commit; В строке несколько SQL-инструкций, но выполняется только первая (индекс уже не создаётся). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Почему так происходит? Как добиться выполнения всего кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2011, 04:41 |
|
ExecSQL и несколько инструкций в строке
|
|||
---|---|---|---|
#18+
Во первых, какая-то чушь: структура базы хранится в базе и читается из базы прежде чем эту базу создать? Во вторых, где хранится исходный SQL-скрипт значения не имеет. Зато как именно он запускается на исполнение - значение имеет. А этот вопрос ты умолчал. На чем хоть пишешь-то? Дельфи скорее всего... Ну тогда только парсить скрипт, разбивать его на отдельные команды и запускать на выполнение по отдельности. Был-бы нормальный С, то в родном интерфейсе есть замечательная команда sqlite3_exec() которая прекрасно работает на пакеты команд. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2011, 05:29 |
|
ExecSQL и несколько инструкций в строке
|
|||
---|---|---|---|
#18+
Судя по коду - Delphi. Где-то в его справке рекоммендуют работать с типом Variant (FieldValues[]) нежели с FieldAs...(), т.к. тип является чуть ли не основным. БД поддерживает выполнение нескольких инструкций в 1-м запросе, как, например, в MSSQL? Другой вариант: делить s на несколько строк по символу ; (explode, Pos + SubString) и для каждой TempDB.execsql(str); ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2011, 18:18 |
|
|
start [/forum/topic.php?fid=54&msg=37329889&tid=2009167]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
101ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
others: | 349ms |
total: | 526ms |
0 / 0 |