主题:ADO使用问题“多步操作产生错误。请检查每一步的状态值。”
我在VC中,用ADO数据邦定对话框向导自导导入ADO对象,我使用的是Access 2003。运行程序时没问题,当我加上,数据添加代码后,运行程序点击[添加]时,出现“多步操作产生错误。请检查每一步的状态值。”提示!
我的添加按钮代码如下:
void CRsCgDlg1::OnAddRecord()
{
// TODO: Add your control notification handler code here
try{
long index[1];
VARIANT flds,vals; //declare two safe array
flds.vt=VT_ARRAY|VT_VARIANT;
vals.vt=VT_ARRAY|VT_VARIANT;
SAFEARRAYBOUND bound;//declare safe array of edge
bound.cElements=6;//define the number of safe array
bound.lLbound=0;
COleVariant fld[6],val[6];
UpdateData(true);//将对话框变量传给对应的变量
//设置字段名称数组元素值
fld[0]="磨粒编号";
fld[1]="磨粒图像";
fld[2]="极差";
fld[3]="平均值";
fld[4]="标准差";
fld[5]="磨粒类型";
/* //将其他类型的数椐转换成字符串
m_pRs->PutCollect("m_dDlgCol3",_variant_t(m_dDlgCol3));
m_pRs->PutCollect("m_dDlgCol4",_variant_t(m_dDlgCol4));
m_pRs->PutCollect("m_dDlgCol5",_variant_t(m_dDlgCol5));
*/
//设置字段值数组元素值
val[0]=/*m_wpID;*/m_strDlgCol1;
val[1]=/*m_wpPicture;*/m_strDlgCol2;
val[2]=/*m_wpJc;*/m_dDlgCol3;
val[3]=/*m_wpAvr;*/m_dDlgCol4;
val[4]=/*m_wpStd;*/m_dDlgCol5;
val[5]=/*m_wpCls;*/m_strDlgCol6;
//创建安全数组
flds.parray=::SafeArrayCreate(VT_VARIANT,1,&bound);
vals.parray=::SafeArrayCreate(VT_VARIANT,1,&bound);
for(int i=0;i<6;i++)
{
index[0]=i;
::SafeArrayPutElement(flds.parray,index,&fld[i]);//
::SafeArrayPutElement(flds.parray,index,&fld[i]);//
}
m_pRs->AddNew(&flds,&vals);//使用安全数组添加新记录
}
catch(_com_error &e)
{
m_pRs->CancelUpdate();
MessageBox(e.Description());
}
}
请各位高手指教!![em19]
先谢谢各位![em10][em10]
我的添加按钮代码如下:
void CRsCgDlg1::OnAddRecord()
{
// TODO: Add your control notification handler code here
try{
long index[1];
VARIANT flds,vals; //declare two safe array
flds.vt=VT_ARRAY|VT_VARIANT;
vals.vt=VT_ARRAY|VT_VARIANT;
SAFEARRAYBOUND bound;//declare safe array of edge
bound.cElements=6;//define the number of safe array
bound.lLbound=0;
COleVariant fld[6],val[6];
UpdateData(true);//将对话框变量传给对应的变量
//设置字段名称数组元素值
fld[0]="磨粒编号";
fld[1]="磨粒图像";
fld[2]="极差";
fld[3]="平均值";
fld[4]="标准差";
fld[5]="磨粒类型";
/* //将其他类型的数椐转换成字符串
m_pRs->PutCollect("m_dDlgCol3",_variant_t(m_dDlgCol3));
m_pRs->PutCollect("m_dDlgCol4",_variant_t(m_dDlgCol4));
m_pRs->PutCollect("m_dDlgCol5",_variant_t(m_dDlgCol5));
*/
//设置字段值数组元素值
val[0]=/*m_wpID;*/m_strDlgCol1;
val[1]=/*m_wpPicture;*/m_strDlgCol2;
val[2]=/*m_wpJc;*/m_dDlgCol3;
val[3]=/*m_wpAvr;*/m_dDlgCol4;
val[4]=/*m_wpStd;*/m_dDlgCol5;
val[5]=/*m_wpCls;*/m_strDlgCol6;
//创建安全数组
flds.parray=::SafeArrayCreate(VT_VARIANT,1,&bound);
vals.parray=::SafeArrayCreate(VT_VARIANT,1,&bound);
for(int i=0;i<6;i++)
{
index[0]=i;
::SafeArrayPutElement(flds.parray,index,&fld[i]);//
::SafeArrayPutElement(flds.parray,index,&fld[i]);//
}
m_pRs->AddNew(&flds,&vals);//使用安全数组添加新记录
}
catch(_com_error &e)
{
m_pRs->CancelUpdate();
MessageBox(e.Description());
}
}
请各位高手指教!![em19]
先谢谢各位![em10][em10]