你使用哪种方式来连接数据库的呢?DAO还是ADO呢? 下边是DAO方式的 假设你要修改的列字段名字是field3,行id = 2,修改后的值为 CString szNewValue, CString szSql = "UPDATE "; szSql += " TableName SET field3 = \'" + szNewValue + "\' WHERE id = \'2\'"; try { .Execute(szSql, dbInconsistent); } catch(...) { OutputDebugString("Update Record Error!"); }1楼的是ADO方式的。
关系数据库中,理论上是不区分顺序的。 通俗的说:1、所有的记录行,不区分先后;2、所有的字段列,也没有前后。==============那如何区分行列呢?行的范围是由 WHERE 子句决定的,是一个集合,多条或单条;列,直接指明列名。==============所以,说修改2行3列,这种说法不科学。楼主应再认真看看数据库基础知识。
try
{m_pRecordset->MoveFirst();
m_pRecordset->Move(2);//第二行
m_pRecordset->PutCollect("Name", _variant_t(m_Name));//假设第三列字段名为Name,m_Name为要修改的值
m_pRecordset->Update();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
下边是DAO方式的
假设你要修改的列字段名字是field3,行id = 2,修改后的值为 CString szNewValue,
CString szSql = "UPDATE ";
szSql += " TableName SET field3 = \'" + szNewValue + "\' WHERE id = \'2\'"; try
{
.Execute(szSql, dbInconsistent); }
catch(...)
{
OutputDebugString("Update Record Error!");
}1楼的是ADO方式的。
通俗的说:1、所有的记录行,不区分先后;2、所有的字段列,也没有前后。==============那如何区分行列呢?行的范围是由 WHERE 子句决定的,是一个集合,多条或单条;列,直接指明列名。==============所以,说修改2行3列,这种说法不科学。楼主应再认真看看数据库基础知识。