已经定义了一个记录集对应于一个表中的所有记录,现在要对这个表执行如下类型的sql语句
declare @sql varchar(8000)
set @sql = 'select shopname'
select @sql = @sql + ',sum(case position when '''+position+''' then 1 else 0 end) as ['+position+']'
from (select distinct position from #) as a
select @sql = @sql+',sum(case checkcode when 0 then 1 else 0 end) [标志0],sum(case checkcode when 1 then 1 else 0 end) [标志1],sum(case checkcode when 2 then 1 else 0 end) [标志2],sum(case checkcode when 3 then 1 else 0 end) [标志3]
from # group by shopname'
应该如何操作那? 如何向记录集发送sql语句?查询的结果会放在哪里?
declare @sql varchar(8000)
set @sql = 'select shopname'
select @sql = @sql + ',sum(case position when '''+position+''' then 1 else 0 end) as ['+position+']'
from (select distinct position from #) as a
select @sql = @sql+',sum(case checkcode when 0 then 1 else 0 end) [标志0],sum(case checkcode when 1 then 1 else 0 end) [标志1],sum(case checkcode when 2 then 1 else 0 end) [标志2],sum(case checkcode when 3 then 1 else 0 end) [标志3]
from # group by shopname'
应该如何操作那? 如何向记录集发送sql语句?查询的结果会放在哪里?
解决方案 »
- 没有资源文件,如何设置编译出来的exe文件的图标
- 在C++builder里,用OpenGL先画了直线再画点 为什么只显示直线啊
- COleDateTime 加减运算
- CListCtrl中创建一个类似于汇总的栏怎么做?
- 关于编译
- 怎么找不到OnInitDialog()函数?
- TabView(卡片视图)问题(200分)
- 有知道EXESCOPE这个的软件的请进一下!
- 请问用CFileDialog生成标准windows 的open对话框后,允许多选,如何获得每个文件的文件名?望给出具体代码,谢谢!
- 如何在vc编写的程序里面加入音乐,并且程序一启动就播放
- 怎样达到多次undo
- CObList使用中的问题???
先声明 CDatabase db;
前提你的记录集类: CXXXXXSet 必须构造在db上;
如下:CXXXXXSet set(&db);
it's m_db
use m_pSet->m_db....
i think it can work
CDatabase * pDatabase = new CDatabase; TRY
{
pDatabase->OpenEx( _T("DSN=ODBCName;UID=***;PWD=***;"), CDatabase::noOdbcDialog);
}
CATCH (CDBException, e)
{
delete pDatabase;
return;
}END_CATCH SQL.Format("delete from TableName");
pDatabase->ExecuteSQL(SQL); pDatabase->Close();
delete pDatabase;
CDatabase m_db;
m_db.Open("Wash");
CWash1Set m_pSet(&m_db);
CShopSet m_pShopSet(&m_db);
m_pSet.Open();
m_pShopSet.Open();编译通过后首先是让选择数据源,然后就弹出窗口说ODBC不支持动态纪录集
而CWash1Set和CShopSet的m_nDefaultType 都是dynaset
怎么回事呢?