sql — ADODB / C ++: что означает «Выполнить» вернуть, когда возвращается единственное значение?

Я использую ADO для доступа к базе данных ..

Из документации метод «Execute» объекта _ConnectionPtr возвращает набор записей
(http://msdn.microsoft.com/en-us/library/windows/desktop/ms675023(v=vs.85).aspx)

Аналогично, метод Execute объекта _CommandPtr также возвращает Recordset / Stream / Nothing.
(http://msdn.microsoft.com/en-us/library/windows/desktop/ms681559(v=vs.85).aspx)

Однако я не понимаю, что происходит, если команда sql возвращает одно значение.

Например, что произойдет, если моя команда sql выглядит следующим образом?

_ConnectionPtr myConnectionPtr;
_RecordsetPtr myRecordPtr;

myRecordPtr = myConnectionPtr -> Execute("select 1 from mydb..my_table", NULL, 1);

возвращаемое значение метода Execute просто 1 .. поэтому я не думаю, что оно может быть сохранено в объекте _RecordsetPtr .. Кажется, что документация не объясняет, что происходит, если возвращаемое значение НЕ является ReseultSet, а вместо этого значение..

Как мне решить эту проблему?

Спасибо

0

Решение

Это всегда будет набор результатов — установленный размер будет одной записью, если есть только один результат, — но это все еще набор.

Также,

select 1 from mydb.my_table

вернет столько «1», сколько записей в таблице my_table — поэтому, если в таблице 100 записей, результирующий набор будет состоять из 100 записей со значением ‘1’

1

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector