ry int curSel m_AccessList.GetCurSel // 先将指针移向第一条记录,然后就可以相对第一条记录来随意移动记录指针 m_pRecordset-MoveFirst m_pRecordset-MovelongcurSel catch_com_error e AfxMessageBoxe-ErrorMessage ——修改记录中字段值。
可以将记录指针移动到要修改记录的位置处,直接用 PutCollect字段名,值将新值写入并 Update更新数据库既可。
可以用上面方法移动记录指针,修改字段值代码如下所示: try // 假设对第二条记录进行修改 m_pRecordset-MoveFirst m_pRecordset-Move1 // 从 0 开始 m_pRecordset-PutCollectName _variant_tm_Name m_pRecordset-PutCollectAge atolm_Age m_pRecordset-Update catch_com_error e AfxMessageBoxe-ErrorMessage ——删除记录。
删除记录和上面修改记录的操作类似,先将记录指针移动到要修改记录的位置,直接用 Delete方法删除它并用 Update来更新数据库既可。
代码如下所示: try // 假设删除第二条记录 m_pRecordset-MoveFirst m_pRecordset-Move1 // 从 0 开始 m_pRecordset-DeleteadAffectCurrent // 参数 adAffectCurrent 为删除当前记录 m_pRecordset-Update catch_com_error e AfxMessageBoxe-ErrorMessage ——关闭记录集。
直接用 Close 方法关闭记录集并赋于其空值。
代码如下所示: m_pRecordset-Close m_pRecordset NULL3、CommandPtr 智能指针,可以使用_ConnectionPtr 或_RecordsetPtr 来执行任务,定义输出参数,执行存储过程或 SQL 语句。
——执行 SQL 语句。
先创建一个_CommandPtr 实例指针,再将库连接和 SQL 语句做为参数,执行 Execute方法既可。
代码如下所示:_CommandPtr m_pCommandm_pCommand.CreateInstance__uuidofCommandm_pCommand-ActiveConnection m_pConnection // 将库连接赋于它m_pCommand-CommandText SELECT FROM DemoTable // SQL 语句m_pRecordset m_pCommand-ExecuteNULL NULLadCmdText // 执行 SQL语句,返回记录集——执行存储过程。
执行存储过程的操作和上面执行 SQL 语句类似, 不同点仅是CommandText 参数中不再是 SQL 语句,而是存储过程的名字,如 Demo。
另一个不同点就是在 Execute中参数由 adCmdText执行 SQL 语句,改为 adCmdStoredProc 来执行存储过程。
如果存储过程中存在输入、输出参数的话,需要使用到另一个智能指针_ParameterPtr 来逐次设置要输入、输出的参数信息,并将其赋于_CommandPtr 中 Parameters 参数来传递信息,有兴趣的读者可以自行查找相关书籍或 MSDN。
执行存储过程的代码如下所示:_CommandPtr m_pCommandm_pCommand.CreateInstance__uuidofCommand m_pCommand-ActiveConnection m_pConnection // 将库连接赋于它m_pCommand-CommandText Demo m_pCommand-ExecuteNULLNULL adCmdStoredProc
上一篇:
串口调试助手vc源程序及其详细编写过程
下一篇:
法律专业开题报告范文