我现在只会批量读取.//根据员工编号读取所有字段值
void Cinfo_base::GetData(CString cKSH)
{
//连接数据库

ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT * FROM info_base WHERE KSH=" + cKSH;
//执行SELETE语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
//返回各列的值
if (m_pRecordset->adoEOF && m_pRecordset->adoBOF)
{
Cinfo_base::Cinfo_base();
}
else
{
KSH = cKSH;
XM = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("XM");
XBDM = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("XBDM");
CSRQ = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("CSRQ");
BYXXDM = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("BYXXDM");
BJH = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("BJH");
MZDM = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("MZDM");
ZZMMDM = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("ZZMMDM");
YZBM = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("YZBM");
KSLBDM = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("KSLBDM");
XJH = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("XJH");
HKSZD = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("HKSZD");
LXDH = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("LXDH");
SFZH = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("SFZH");
BZ = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("BZ");
}
//断开与数据库的连接

m_AdoConn.ExitConnect();
}读取没有规律的记录怎么做?

解决方案 »

  1.   

    如果我要随机插入三条记录,是不是要连续使用三次select语句?
      

  2.   

    SELECT * FROM info_base WHERE KSH=" + cKSH;
    就象这样做
      

  3.   

    可是我每次只能捉到一个?为什么?
    _RecordsetPtr Cinfo_base::Get()
    {
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置SELECT语句
    _bstr_t vSQL;
    vSQL = "SELECT ksh,xm,xbdm,CSRQ FROM info_base where ksh='131100009'" ;
    //执行SELETE语句
    _RecordsetPtr m_pRecordset;
    m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
    //返回各列的值
    vSQL = "SELECT ksh,xm,xbdm,CSRQ FROM info_base where ksh='131100033'";
    m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

    return m_pRecordset;

    //断开与数据库的连接
    m_AdoConn.ExitConnect();
    }