MFC+MSSQL 查询表和查询视图结果居然不一样?求大神指点迷津
问题描述:
通过下面的方法去获取数据集,一直没有问题。
m_pRecordset->Open(_bstr_t(Tsql), m_pConnection.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdText);
后来为了降低耦合度,避免其他项目组修改表结构影响我代码的修改。
于是就将查询语句创建成视图,我这边则从视图中获取信息。
发现如下情况
1.如果视图通过界面进行设计创建,MFC 代码open能够正常获取视图结果。测试的表比较简单
2.如果视图通过sql语句进行创建,MFC代码open不能获取结果。sql语句在MSSQL中执行没有问题。将adOpenStatic改为动态的也还是不行
3.如果将创建视图的语句直接拿过来open执行,发现也不能获取结果。这就奇怪了。
2和3中用到的语句用到了for XML path这样的情况
请大神指点,这个是什么情况
通过在MSSQL中性能查看执行情况,发现有问题的时候,在sp_curorsopen时打不开游标地址。
没有问题的时候,有游标地址。
这个不清楚两种有什么区别。