现在有两个记录集RS1,RS2 ,我想定义一个新的记录集,用来保存这个两个记录集处理后的数据。
我看下了ADO帮助,说 可以用RecordSet->open方法创建一个空的记录集。但是试了以下可以不行,我把代码贴出来,大家帮我看看,谢谢了
_RecordsetPtr rsSmelt;
rsSmelt.CreateInstance(__uuidof(Recordset));
rsSmelt->Fields->Append("DATE_TIME",adDate,sizeof(double),adFldUnspecified);
rsSmelt->Fields->Append("DUT",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Fields->Append("GJB",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Fields->Append("DJB",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Fields->Append("DZI",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Fields->Append("BE",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Open(_variant_t(" "),pConn.GetInterfacePtr(), adOpenKeyset, adLockOptimistic, adCmdText);
运行到OPEN的时候就跳到异常处理了。
但是要在 定义rsSmelt的时候初始化为Null ,那么open的时候就不出错,但是在下面又错了
rsSmelt->AddNew();
又跳到异常了,百度上搜了下,又找不到这样的。大家帮忙看下,问题出在哪里,谢谢了
我看下了ADO帮助,说 可以用RecordSet->open方法创建一个空的记录集。但是试了以下可以不行,我把代码贴出来,大家帮我看看,谢谢了
_RecordsetPtr rsSmelt;
rsSmelt.CreateInstance(__uuidof(Recordset));
rsSmelt->Fields->Append("DATE_TIME",adDate,sizeof(double),adFldUnspecified);
rsSmelt->Fields->Append("DUT",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Fields->Append("GJB",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Fields->Append("DJB",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Fields->Append("DZI",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Fields->Append("BE",adSingle,sizeof(int),adFldUnspecified);
rsSmelt->Open(_variant_t(" "),pConn.GetInterfacePtr(), adOpenKeyset, adLockOptimistic, adCmdText);
运行到OPEN的时候就跳到异常处理了。
但是要在 定义rsSmelt的时候初始化为Null ,那么open的时候就不出错,但是在下面又错了
rsSmelt->AddNew();
又跳到异常了,百度上搜了下,又找不到这样的。大家帮忙看下,问题出在哪里,谢谢了
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance("ADODB.Recordset");
CString strsql;
strsql.Format("select * from [API_Tmp]"); try
{
m_pRecordset->Open((_variant_t)strsql,
_variant_t((IDispatch *)(papp- >m_pConnection),true),
adOpenStatic,adLockOptimistic,adCmdText);
m_pRecordset->AddNew();
////kindsof是字段名,FLongID要保存进去的变量, 这些都换成你自已的
m_pRecordset->PutCollect("kindsof",FLongID);
m_pRecordset->PutCollect("name",_variant_t(m_strName));
m_pRecordset->PutCollect("description",_variant_t(m_strLy));
m_pRecordset->Update(); //不能漏了
if(m_pRecordset->State==TRUE) m_pRecordset->Close();
}
catch(_com_error err)
{
MessageBox(err.ErrorMessage(),"增加失败",MB_ICONERROR|MB_OK);
if(m_pRecordset->State==TRUE) m_pRecordset->Close();
m_IsAdd=FALSE;
return;
}
例如:rsSmelt->Open(_variant_t(" select * form mdb where sn='nonononononoon"),pConn.GetInterfacePtr(), adOpenKeyset, adLockOptimistic, adCmdText);然后再添加记录,AddNew();我也想知道怎么创建一个空集,而不会出现异常