-
Всем привет. Используя TADODataSet пытаюсь выполнить такой скрипт
"insert into dbDatabases() values(); select last_insert_id() as DatabaseID"
А он мне ругается мол неверный синтаксис. Хотя копирую этот скрипт и в воркбэнче он выполняется без всяких проблем. В чем причина может быть?
-
попробуйте не одной строкой - работает?
-
TADOCommand
-
> А он мне ругается мол неверный синтаксис.
MySQL пакеты команд позволяет?
> Хотя копирую этот скрипт и в воркбэнче он выполняется без всяких проблем.
это что программа?
> В чем причина может быть?
может там программист предусмотрел, и делает команды отдельно? независимо от того как написано в редакторе.
-
В сабже скрипт, а не запрос. Соответственно нужен компонент, умеющий выполнять скрипты. Либо в "чистом виде" передавать серверу (ADOCommand)
-
Ну если разбиваю на 2 разных запроса то работает, но это не есть гуд. Как сделать чтоб через запятую заработало?
-
> Как сделать чтоб через запятую заработало?
перейти на MSSQL... или любое другое поддерживающее "пакеты" на сервере.
-
Хреново. Но все-же спасибо за ответ
-
> jacksotnik (29.01.13 13:53) [5]
Зубилом надо рубить и кувалдой заколачивать.
А еще лучше прочитать документацию по продукту
-
А '123' / 2 это правильно или нет?
-
> А '123' / 2 это правильно или нет?
... а вот если правильно, то исходя из этого правильно ли - '123' / 2.0
??? ;)
-
Так же как и '123' / 2
А автор то рассматривает батчи в отрыве от сервера, может он или нет, неважно.
-
Хотя я могу дат ь два правильных ответа.
1. Правильно
2. Не правильно
Можно выбирать!
-
> Так же как и '123' / 2
неа, в MSSQL (2000) это правильно, а 2.0 - Arithmetic overflow error converting varchar to data type numeric
> Можно выбирать!
ну, вот я собственно к тому же, с добавкой - даже если одно правильно/не правильно, то аналог по сути опять "можно выбирать".
-
> sniknik (29.01.2013 15:23:13) [13]
Я тебя подвожу к тому, что
это зависит от системы, в
разных языка и даже
версиях по разному.
Но все таки это микрософт,
сумел разделить строку на
число. Гигант.
-
> Anatoly Pogoretsky (29.01.13 15:52) [14]
>
> > sniknik (29.01.2013 15:23:13) [13]
>
> Я тебя подвожу к тому, что
> это зависит от системы, в
> разных языка и даже
> версиях по разному.
> Но все таки это микрософт,
> сумел разделить строку на
> число. Гигант.
Почему? в 1 диалекте БД IB/FB это реально было. с 86 года кажись
-
> Виталий Панасенко (29.01.2013 16:49:15) [15]
Хочешь поговорить про
СУБД, так мы не про них. В
СУБД часто тип не играет
роли, автоматическое
преобразование.
-
> Но все таки это микрософт,
> сумел разделить строку на
> число. Гигант.
авто приведение типов есть у многих, в основном конечно на инсерте/... а не в операциях, т.что ... и тут результат правильный (ожидаемый).
а вот информикс тоже делит, но с несколько неожиданным результатом (в итоге = логическая ошибка) вот он "Гигант".