我使用ADO访问数据库..
从文档中,_ConnectionPtr对象"执行"方法返回Recordset (http://msdn.microsoft.com/en-us/library/windows/desktop/ms675023(v=vs.85).aspx)
同样,_CommandPtr对象的Execute方法也返回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 :(得分:1)
它始终是一个结果集 - 如果只有一个结果,则设置大小只是一条记录 - 但仍然是一组。
此外,
select 1 from mydb.my_table
将返回尽可能多的' 1'因为表my_table
中有记录 - 所以如果表中有100条记录,结果集将是100条记录,所有记录都带有值' 1'