level 1
秧苗草田
楼主
//根据SQL语句生成记录集
m_pRecordset.CreateInstance(__uuidof(Recordset));
_variant_t RecordsAffected;
CString vSQL;
vSQL.Format("SELECT * FROM 固定钻套 WHERE 孔径大于<'%f' and 孔径到>='%f'",m_DHole,m_DHole);
m_pRecordset=m_pConnection->Execute(_bstr_t(vSQL),&RecordsAffected,adCmdText);
if((m_pRecordset->adoBOF)&&(m_pRecordset->adoEOF))
{
AfxMessageBox("没有满足条件的记录!");
m_pRecordset->Close();
return;
}
//从记录集获取相应的值,并赋给变量
//while(!m_pRecordset->adoEOF) //如果要处理多条记录,则可用循环语句
//{ //目前记录集中只会有一条记录
//double d; //存钻套孔径
CString D,D1,H; //存钻套外径,肩径及长度。暂时全部设为串类型,后面再进行转换
_variant_t vFieldValue;
D_HOLE=m_DHole; //直接取用文本框中所输入的钻孔直径(关联变量的值)
vFieldValue = m_pRecordset->GetCollect("D"); //获取钻套外径
D = (char*)_bstr_t(vFieldValue); //赋给变量
vFieldValue = m_pRecordset->GetCollect("D1");//获取钻套肩径
D1 = (char*)_bstr_t(vFieldValue); //赋给变量
vFieldValue = m_pRecordset->GetCollect("H1");//获取钻套长度
H = (char*)_bstr_t(vFieldValue); //赋给变量
//m_pRecordset->MoveNext(); //将记录指针移到下一条记录
//}
2014年03月26日 00点03分
1
m_pRecordset.CreateInstance(__uuidof(Recordset));
_variant_t RecordsAffected;
CString vSQL;
vSQL.Format("SELECT * FROM 固定钻套 WHERE 孔径大于<'%f' and 孔径到>='%f'",m_DHole,m_DHole);
m_pRecordset=m_pConnection->Execute(_bstr_t(vSQL),&RecordsAffected,adCmdText);
if((m_pRecordset->adoBOF)&&(m_pRecordset->adoEOF))
{
AfxMessageBox("没有满足条件的记录!");
m_pRecordset->Close();
return;
}
//从记录集获取相应的值,并赋给变量
//while(!m_pRecordset->adoEOF) //如果要处理多条记录,则可用循环语句
//{ //目前记录集中只会有一条记录
//double d; //存钻套孔径
CString D,D1,H; //存钻套外径,肩径及长度。暂时全部设为串类型,后面再进行转换
_variant_t vFieldValue;
D_HOLE=m_DHole; //直接取用文本框中所输入的钻孔直径(关联变量的值)
vFieldValue = m_pRecordset->GetCollect("D"); //获取钻套外径
D = (char*)_bstr_t(vFieldValue); //赋给变量
vFieldValue = m_pRecordset->GetCollect("D1");//获取钻套肩径
D1 = (char*)_bstr_t(vFieldValue); //赋给变量
vFieldValue = m_pRecordset->GetCollect("H1");//获取钻套长度
H = (char*)_bstr_t(vFieldValue); //赋给变量
//m_pRecordset->MoveNext(); //将记录指针移到下一条记录
//}