关于数据库取值的有关问题
关于数据库取值的问题
我想用select count()... 语句得到一个数值,但执行的时候总是报“无效的描述符索引”错误,大虾们 帮我看看。
CString strSQL(_T( "select count(*) from importplate where platename like '% " + pPlate-> GetPlateTypeName() + "% ' "));
rs-> Open(CRecordset::dynaset, strSQL);
CString str;
// 读取数据库结果
rs-> MoveFirst();
rs-> GetFieldValue((int)0, strValue); // 这行报错!!!
------解决方案--------------------
取记录总数不能用这种方式
strSql = _T( "Select * from XXTable ");
另外
rs.m_strFilter = _T( "PlateName like 'XXXX ' ");
然后
rs.Open(CRecordset::snapshort, strSql);
int nCount = rs.GetRecordCount();
这样就可以取到符合要求的记录数了。直接用你的语句,也可以,把strSql = _T( "Select CollName=count(*) from XXTabl ")
查询条件,也就是where部分要放到rs.m_strFilter里面。
------解决方案--------------------
select count(*) as cc from importplate where platename ...
------解决方案--------------------
给Count(*)取个别名就好了
------解决方案--------------------
select count(*) as cc from importplate where platename ...
-------------------------------------------
CRecordset rs;
int n_count;
n_count=(rs-> GetCollect( "ss ")).intVal;
/* "n_count "就是你的总记录数*/
------解决方案--------------------
CString Type=(LPCTSTR)(_bstr_t)m_pRecordset-> GetCollect( "文件类型描述 "); //得到某列值
我想用select count()... 语句得到一个数值,但执行的时候总是报“无效的描述符索引”错误,大虾们 帮我看看。
CString strSQL(_T( "select count(*) from importplate where platename like '% " + pPlate-> GetPlateTypeName() + "% ' "));
rs-> Open(CRecordset::dynaset, strSQL);
CString str;
// 读取数据库结果
rs-> MoveFirst();
rs-> GetFieldValue((int)0, strValue); // 这行报错!!!
------解决方案--------------------
取记录总数不能用这种方式
strSql = _T( "Select * from XXTable ");
另外
rs.m_strFilter = _T( "PlateName like 'XXXX ' ");
然后
rs.Open(CRecordset::snapshort, strSql);
int nCount = rs.GetRecordCount();
这样就可以取到符合要求的记录数了。直接用你的语句,也可以,把strSql = _T( "Select CollName=count(*) from XXTabl ")
查询条件,也就是where部分要放到rs.m_strFilter里面。
------解决方案--------------------
select count(*) as cc from importplate where platename ...
------解决方案--------------------
给Count(*)取个别名就好了
------解决方案--------------------
select count(*) as cc from importplate where platename ...
-------------------------------------------
CRecordset rs;
int n_count;
n_count=(rs-> GetCollect( "ss ")).intVal;
/* "n_count "就是你的总记录数*/
------解决方案--------------------
CString Type=(LPCTSTR)(_bstr_t)m_pRecordset-> GetCollect( "文件类型描述 "); //得到某列值