📄 d150.bmp.txt
字号:
strSQLMod = "SELECT * FROM Al人信息 WHERE name = "'+strSeIName+""';
m_pRecordsetMod->Open(strSQLMod.AllocSysString(),
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
UpdateData0;
try
{
m_pRecordsetMod->PutCollect( " name ", _variant_t(m_Name》;
m_pRecordsetMod->PutCollect("sex ", _variant_t(m_Sex》;
m_pRecordsetMod->PutCollect( "age ", (long)atoi(m_Age》;
m_pRecordsetMod->Update0;
}
catch(_com_error水e)
{
AfxMessageBox(e->ErrorMessage(》 ;
}
m_Name=m_Sex=m_Age="";
UpdateData(false);
ListData();
m_BDelData.EnableWindow(false);
m_BModifyData.EnableWindow(false);
MessageBox(“修改成功!”);
}
在修改数据的时候,没有使用上面用到的Command对象的Execute方法得到记录集对
象m_pRecordsetMod,而是使用了Recordset的Open方法。这就是因为用Command对象的
Execute方法得到的Recordset对象是只读的。用该方法得到了记录集对象后,不但记录集对
象中的记录无法修改,即使直接使用SQL语句修改同一表中的任何记录都不行。想要能修
改记录数据,还是要使用Recordset的Open方法。这一点在上面我们已经介绍到了。
6)查询数据。在记录集中有3个字段:姓名、性别、年龄,为了使用不同字段查询时
能产生不同的查询条件,我们为IDCJIEM和IDC_OPER这2个Combo Box控件分别添加
针对CBN_SELENDOK事件的响应函数,并编辑该函数。
150
void CRemoteDBDlg::OnSelendokltem0
{
// TODO: Add your control notification handler code here
UpdateData0;
if (m_ltem ==“年龄”)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -