统计数据库中行的个数select count(*) from tablename

解决方案 »

  1.   

    过滤就是加条件啊
    where colname='xxxx'
    xxxx由你的对话框输入 查 询 记 录 ---- 查 询 记 录 使 用CRecordSet::Open() 和CRecordSet::Requery() 成 员 函 数。 在 使 用CRecordSet 类 对 象 之 前, 必 须 使 用CRecordSet::Open() 函 数 来 获 得 有 效 的 记 录 集。 一 旦 已 经 使 用 过CRecordSet::Open() 函 数, 再 次 查 询 时 就 可 以 应 用CRecordSet::Requery() 函 数。 在 调 用CRecordSet::Open() 函 数 时, 如 果 已 经 将 一 个 已 经 打 开 的CDatabase 对 象 指 针 传 给CRecordSet 类 对 象 的m_pDatabase 成 员 变 量, 则 使 用 该 数 据 库 对 象 建 立ODBC 连 接; 否 则 如 果m_pDatabase 为 空 指 针, 就 新 建 一 个CDatabase 类 对 象 并 使 其 与 缺 省 的 数 据 源 相 连, 然 后 进 行CRecordSet 类 对 象 的 初 始 化。 缺 省 数 据 源 由GetDefaultConnect() 函 数 获 得。 你 也 可 以 提 供 你 所 需 要 的SQL 语 句, 并 以 它 来 调 用CRecordSet::Open() 函 数, 例 如:  Super_ESSet.Open(AFX_DATABASE_USE_DEFAULT,strSQL);---- 如 果 没 有 指 定 参 数, 程 序 则 使 用 缺 省 的SQL 语 句, 即 对 在GetDefaultSQL() 函 数 中 指 定 的SQL 语 句 进 行 操 作:  CString CSuper_ESSet::GetDefaultSQL()
    {return _T("[BasicData],[MainSize]");}---- 对 于GetDefaultSQL() 函 数 返 回 的 表 名, 对 应 的 缺 省 操 作 是SELECT 语 句, 即:  SELECT * FROM BasicData,MainSize---- 查 询 过 程 中 也 可 以 利 用CRecordSet 的 成 员 变 量m_strFilter 和m_strSort 来 执 行 条 件 查 询 和 结 果 排 序。m_strFilter 为 过 滤 字 符 串, 存 放 着SQL 语 句 中WHERE 后 的 条 件 串;m_strSort 为 排 序 字 符 串, 存 放 着SQL 语 句 中ORDER BY 后 的 字 符 串。 如:  Super_ESSet.m_strFilter="TYPE='电动机'";
    Super_ESSet.m_strSort="VOLTAGE";
    Super_ESSet.Requery();
     对应的SQL语句为:
    SELECT * FROM BasicData,MainSize 
    WHERE TYPE='电动机'
    ORDER BY VOLTAGE---- 除 了 直 接 赋 值 给m_strFilter 以 外, 还 可 以 使 用 参 数 化。 利 用 参 数 化 可 以 更 直 观, 更 方 便 地 完 成 条 件 查 询 任 务。 使 用 参 数 化 的 步 骤 如 下: ---- (1) . 声 明 参 变 量:  CString p1;
    float p2;---- (2) . 在 构 造 函 数 中 初 始 化 参 变 量  p1=_T("");
    p2=0.0f;
    m_nParams=2;---- (3) . 将 参 变 量 与 对 应 列 绑 定  pFX- >SetFieldType(CFieldExchange::param)
    RFX_Text(pFX,_T("P1"),p1);
    RFX_Single(pFX,_T("P2"),p2);---- 完 成 以 上 步 骤 之 后 就 可 以 利 用 参 变 量 进 行 条 件 查 询 了:  m_pSet- >m_strFilter="TYPE=? AND VOLTAGE=?";
    m_pSet- >p1=" 电 动 机";
    m_pSet- >p2=60.0;
    m_pSet- >Requery();---- 参 变 量 的 值 按 绑 定 的 顺 序 替 换 查 询 字 串 中 的"?" 适 配 符。 ---- 如 果 查 询 的 结 果 是 多 条 记 录 的 话, 可 以 用CRecordSet 类 的 函 数Move(),MoveNext(),MovePrev(),MoveFirst() 和MoveLast() 来 移 动 光 标。
      

  2.   

    谢谢
    I will try now