m_pSet是已经初始化的对象,上面这句的结果记录集我怎么找不到啊,结果记录集中会有aa这个一个字段吗?
如果我用m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,"Select count(*) as aa from [RequestRecord] group by USERID");去执行能得到结果,但每次都要先m_pSet->Close(),然后再打开,而且结果返回放在它原有的字段中,并没有aa这个字段,如果原有的第一个字段不是int型就会报告违反限制数据类型属性,我晕啊,应该怎样做才好?高手来帮忙啊.谢谢各位了.
如果我用m_pSet->Open(AFX_DB_USE_DEFAULT_TYPE,"Select count(*) as aa from [RequestRecord] group by USERID");去执行能得到结果,但每次都要先m_pSet->Close(),然后再打开,而且结果返回放在它原有的字段中,并没有aa这个字段,如果原有的第一个字段不是int型就会报告违反限制数据类型属性,我晕啊,应该怎样做才好?高手来帮忙啊.谢谢各位了.
就是说,ExecuteSQL是不返回记录集的。
m_pSet你是如何创建的?可以重新建一个新的阿
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
2。app文件的InitInstance中加入
if(S_OK!=OleInitialize(NULL))
{
AfxMessageBox("初始化COM组件库错误");
}
下面就是数据库操作
_ConnectionPtr pConn;
_RecordsetPtr pRs;
CString strSQL;
pConn.CreateInstance(__uuidof(Connection));
pConn->CursorLocation=adUseClient;
strSQL="Provider=SQLOLEDB;Server=Gooyan;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";
pConn->Open(_bstr_t(strSQL),"","",-1);pRs.CreateInstance(__uuidof(Recordset));
pRs->CursorLocation=adUseClient;
pRs->PutActiveConnection(pConn.GetInterfacePtr());pRs1.CreateInstance(__uuidof(Recordset));
pRs1->CursorLocation=adUseClient;
pRs1->PutActiveConnection(pConn.GetInterfacePtr());strSQL="select * from catalog order by cataid";
pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);
strSQL.Format("select employeeid as EMPLOYEE ,cardtypeid as CARDTYPE,cardstatusid as CARDSTATUS from ccard where factoryfixid=%ld",lSerID);
try
{
rs.Open(CRecordset::forwardOnly,strSQL);
if(!rs.IsEOF())
{
rs.GetFieldValue("EMPLOYEE",strEmp);
rs.GetFieldValue("CARDTYPE",strType);
rs.GetFieldValue("CARDSTATUS",strStatus);
rs.Close();
}
把分送上,非常感谢