我是用vc++编写的修改oracle数据库
事先定义了
_RecordsetPtr p_Record;
然后在修改保存的时候
CString sql;
sql = "select * from DEBUGGER.T_INFO";
p_Record->Open((_bstr_t)sql,p_Con.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
POSITION pos = m_list.GetFirstSelectedItemPosition();
int nItem = m_list.GetNextSelectedItem(pos);
for (int i=0;i<nItem;i++)
{
p_Record->MoveNext();
}
以上这些没错,可是运行到下面这句插入的时候就报错了。Fre是列的名字,m_fre是要修改的内容。
p_Record->PutCollect("Fre", (_bstr_t)m_fre);请问错在哪里?要怎么修改啊?谢谢!
事先定义了
_RecordsetPtr p_Record;
然后在修改保存的时候
CString sql;
sql = "select * from DEBUGGER.T_INFO";
p_Record->Open((_bstr_t)sql,p_Con.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
POSITION pos = m_list.GetFirstSelectedItemPosition();
int nItem = m_list.GetNextSelectedItem(pos);
for (int i=0;i<nItem;i++)
{
p_Record->MoveNext();
}
以上这些没错,可是运行到下面这句插入的时候就报错了。Fre是列的名字,m_fre是要修改的内容。
p_Record->PutCollect("Fre", (_bstr_t)m_fre);请问错在哪里?要怎么修改啊?谢谢!
select * ……
更新几条,某几条,这样就是用 update …… + where (只有这几条满足的条件) ,这样简单啊,组合好之后你执行一下,ok
你的p_Record->MoveNext没有判断记录集的EOF状态.很有可能是已经到记录集末了.