powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чтение данных из TADOConnection
15 сообщений из 15, страница 1 из 1
Чтение данных из TADOConnection
    #40034507
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
C++Builder, win 10

имею такое:
Код: plaintext
1.
2.
    TADOConnection *cnn;//Определён в дизайнере и connectionstring там же
    cnn->Execute("update table set value='qwe' where ..."); //Всё прописывается правильно. нет вопросов


Теперь хочу написать примерно так, но не знаю как
Код: plaintext
1.
    String ss=cnn->Execute("select value from table where...);


Подскажите как?
Код: plaintext
1.
    String ss=cnn->Execute("select value from table where...);
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034511
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://docwiki.embarcadero.com/Libraries/Sydney/en/Data.Win.ADODB.TADOConnection.Execute
Тебе нужен второй оверлоад.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034522
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Чуть ниже второго оверлоада есть дескриптор в котором описаны значения всех параметров. Обратите внимание, что ни в одном описываемом параметре отсутствуют в каковом из них сидит искомое значение.
Тебе нужен второй оверлоад.Кстати, Почему не первый?
и еще Не нужно предлагать ссылки на "нерешабельное корифейство". Пожалуйста снизойдите переписать мою неправильную строку (если знаете как) из первого поста.

Код: plaintext
1.
String s=cnn->Execute ...



, а я её обдумаю по вашей замечательной ссылке
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034528
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
_Recordset rs = cnn->Execute("select value from table where...);



А потом в цикле идешь по rs и читаешь его строки.
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034697
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А потом в цикле идешь по rs и читаешь его строки.
rs->RecordCount возвращает единицу и это правильно (соответствует моему в where)

далее
rs->FieldByName ... не катит
rs->Fields ... не катит

В каком свойстве RS сидит возвращаемое значение?
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034742
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pupkin,
код давай. И ошибку.
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034759
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
    String ss=cnn->Execute("select value from table where...);


Если-б такой метод существовал - то он был бы плох по дизайну и не отражал бы сути реляционной алгебры.

Потому-что SELECT в общем случае возвращает множество. Или пустоту. Как этот кейс отработать строкой
(скаляром) - непонятно.

Но ты не ленись. Сделай свою волшебную функцию-враппер на основе _Recordset как тебе советовали
выше.

Это и есть подход разработки. Адаптируй инструменты под себя.
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034953
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton... не отражал бы сути реляционной алгебры.
Сделай свою волшебную функцию...
пить меньше надо
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034957
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и зачем ты это написал?
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034960
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Потому-что SELECT в общем случае возвращает множество. Или пустоту.

Ну пустое множество — это такое же множество как и все остальные. Кроме бесконечных множеств, но этот случай — не вариант для SQL.
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034961
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
mayton

Потому-что SELECT в общем случае возвращает множество. Или пустоту.

Ну пустое множество — это такое же множество как и все остальные. Кроме бесконечных множеств, но этот случай — не вариант для SQL.

Я могу написать табличную функцию которая возвращает бесконечное множество.
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034982
Pupkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonНу и зачем ты это написал? совет после рекомендации об волшебстве
Я могу написать табличную функциюволшебную?
и ещезадан очень конкретный вопрос выше. Лень переписывать.
Ответ на него (предположительно) займёт одну, две-три строки.
Пожалуйста, ответьте по теме, если владете
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40034995
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pupkin,
В данной ветке дают удочку чтобы вы могли ловить рыбу. А не саму рыбу.
Саму рыбу в ветке работа.
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40035007
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pupkin,

Я иногда - метафоричен. А грубить не надо. Это в правилах форума есть.
...
Рейтинг: 0 / 0
Чтение данных из TADOConnection
    #40035148
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pupkin
задан очень конкретный вопрос выше. Лень переписывать.
Ответ на него (предположительно) займёт одну, две-три строки.
Пожалуйста, ответьте по теме, если владете
Нет. Ответ на него займет несколько глав документации.

Тебе уже дали подсказку: _Recordset. В документации на TADO явно сказано что _Recordset это полный враппер на ADO Recordset.
http://docwiki.embarcadero.com/Libraries/Sydney/en/Data.Win.ADODB._Recordset
Задаешь это гуглу и получаешь https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/recordset-object-ado

Дальше по ссылкам и меню, сможешь найти примеры работы с рекордсетами. Или возьми любую книжку по базам данных и почитай что такое рекордсеты и с чем их едят. Это краеугольный камень для всех баз данных, они есть всегда и везде. И эту тему надо понять в обязательном порядке. Причем не важно ADO это, или какой-другой интерфейс.
Результат запроса на выборку это всегда рекордсет. В разных инетерфейсах конечно могут возвращаться и числа и строки, но только как результат "выполнили запрос или упали с ошибкой". Данные всегда будут в рекордсете. ADO тут, кстати, уникален - оно напрямую возвращает рекордсет, а не "прячет" его в хендлах, окружении или вообще в глобальных синглтонах.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чтение данных из TADOConnection
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]