Delphi->Access

программирование базы данных Delphi делфи access

здравствуйте, экстренно пишу работу, связываю БД Access с программой Delphi.... Пишу вложеный запрос
INSERT INTO ABBONENTS(SORNAME, NAME, NAME_P, ID_CON) VALUES('q', 'q', 'q', (SELECT id FROM connectors WHERE name LIKE '%qwerty%'))
пишет ошибку unspecified error... (при чем если без вложенного select, все работает на ура)... В Mysql конструкция работает, в чем здесь особенность?


Примечание:
John Freeman, не совсем понял, при чем здесь это?... Это относительно кода, а не запросов...
Ответы:
Compatibility mode видимо.
А я думаю, потому что запрос
(SELECT id FROM connectors WHERE name LIKE '%qwerty%')
по сути может вернуть больше одной строки, тогда вся эта конструкция встает раком. Делайте отдельно выборку ID, и уже после этого INSERT.
1. проверьте вложенный запрос отдельно
2. поменяйте провайдера подключения (JET OLE 4 прекрасно работает)
3. попробуйте через ADOCommand (только после первых двух пунктов и то, если не поможет. я же, надеюсь, вы вставляете код методом ExecSQL, а не Open?)
____________-
foGa, раком ничего не встанет, ибо курсор будет на первой записи. Соотв. значение поля и вставится. Если, конечно, запрос не пустую строк возвращает..


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.