ADO的Update问题 用ADO访问Access的某表时,该表要求不能有主键。在对数据进行update保存时候会报错,但直接对Access进行操作却不会出现问题。这是怎么回事,有没有好的解决办法?前提是表不能加主键 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码://进行写入数据集保存的处理过程 m_pRecordset->MoveFirst(); m_pRecordset->Move(row-1L); for (long il=row; il<selRow; il++){ for (long jl=col; jl<selCol; jl++){ FieldPtr pField = m_pRecordset->Fields->GetItem(jl-1); BSTR strText; m_pVSFlexGrid->get_TextMatrix( il, jl, &strText); if (strText==NULL){ strText=(BSTR)" "; } try{ pField->put_Value((_variant_t)strText); m_pRecordset->Update(); } catch (_com_error &e){ MessageBox("保存失败!","提示",MB_OK); } } if (!m_pRecordset->adoEOF){ m_pRecordset->MoveNext(); } } return S_OK; SQL语句或表设计错误,和ADO没有关系。 错误信息是:"键列信息不足或不正确。更新影响到多行。"==这个错误是由于这个表中存在完全相同的两条或者多条记录,当update时,数据库无法判断出你是要修改哪一条。 但是在Access中完全相同的数据行保存是成功的啊,有没有什么办法解决啊? happyparrot(快乐鹦鹉) ( ) 信誉:172 2006-04-21 12:26:00 得分: 0 错误信息是:"键列信息不足或不正确。更新影响到多行。"==这个错误是由于这个表中存在完全相同的两条或者多条记录,当update时,数据库无法判断出你是要修改哪一条。 我是用的Recordset移到了要修改的行,并进行了修改。最后update的。不知道这样可以否? 问题已经解决,在建立connection时对游标设置错误。access不需要设置 dll 注入系统进程 在打印时,打印纸张存在一个物理边界,谁知道怎么设置纸张物理边界的大小的,他们说在vb中有控件可以实现,但不知道在VC中如何实现 有一个程序编译没有错,生成EXE文件出错为什么 请教各位关于串口的问题,我不知道怎样能够接收到数据和发送数据,还有不知道具体怎样做,下面是我的部分代码 关于并口操作的问题? 如何做到vb中时间控件的效果?(隔一端时间执行一次) 怎么进行类型转换? 如何用VC/SDK方式实现像VB里那样的功能? 灰度拉伸后图像连续显示 请问MFC里面想给一个按钮做背景透明的图标怎么弄 模拟; 救救小妹!手机充值卡号游戏点数卡号跪求IE插件解决方案
//进行写入数据集保存的处理过程
m_pRecordset->MoveFirst();
m_pRecordset->Move(row-1L);
for (long il=row; il<selRow; il++){
for (long jl=col; jl<selCol; jl++){
FieldPtr pField = m_pRecordset->Fields->GetItem(jl-1);
BSTR strText;
m_pVSFlexGrid->get_TextMatrix( il, jl, &strText);
if (strText==NULL){
strText=(BSTR)" ";
}
try{
pField->put_Value((_variant_t)strText);
m_pRecordset->Update();
}
catch (_com_error &e){
MessageBox("保存失败!","提示",MB_OK);
}
}
if (!m_pRecordset->adoEOF){
m_pRecordset->MoveNext();
}
}
return S_OK;
==这个错误是由于这个表中存在完全相同的两条或者多条记录,当update时,数据库无法判断出你是要修改哪一条。
错误信息是:"键列信息不足或不正确。更新影响到多行。"
==这个错误是由于这个表中存在完全相同的两条或者多条记录,当update时,数据库无法判断出你是要修改哪一条。
我是用的Recordset移到了要修改的行,并进行了修改。最后update的。不知道这样可以否?