VC中向数据库插数据执行“UPDATE()”时出现异常:无法更新

2016-02-19 21:06 54 1 收藏

下面图老师小编要跟大家分享VC中向数据库插数据执行“UPDATE()”时出现异常:无法更新,简单的过程中其实暗藏玄机,还是要细心学习,喜欢还请记得收藏哦!

【 tulaoshi.com - 编程语言 】

1.  换成事务处理

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

事务处理是数据库提供的,跟ADO或VC没有关系,  
   
  BeginTrans:开始一个事务  
  Commit;事务提交。  
  rollback:事务回滚。  
   
  实际上就是在你开始一个事务以后,所有数据库数据的变化和操作都纪录下来,  
  直到事务提交,如果期间任何的操作不成功,则恢复成事务开始的状态,也就是  
  回滚。  
  事务应就可能短,否则会造成死锁。   

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

try  
        {  

open();
          theApp.m_pConnection-BeginTrans();//幵始事務  
         for(i=1;in;i++)  
      {  
      m_pRecordset-AddNew();  
      m_pRecordset-PutCollect("product",_variant_t(str));  
      m_pRecordset-PutCollect("c_date",m_datetime.GetValue());  
      m_pRecordset-PutCollect("create_usr",_variant_t(loguser));  
      m_pRecordset-PutCollect("modi_usr",_variant_t("   "));  
      m_pRecordset-PutCollect("item_no",_variant_t(m_list.GetTextMatrix(i,1)));  
      m_pRecordset-PutCollect("descrip",_variant_t(m_list.GetTextMatrix(i,2)));  
      m_pRecordset-PutCollect("cut_qty",_variant_t(m_list.GetTextMatrix(i,3)));  
      }  
      m_pRecordset-Update();  
      theApp.m_pConnection-CommitTrans();//提交事務  
      }  
      catch(...)  
      { 
  theApp.m_pConnection-RollbackTrans();//取消事務  }

close();

2. 换成INSERT

3.数据格式,数据是否为空

来源:http://www.tulaoshi.com/n/20160219/1625285.html

延伸阅读
问题:假设有一个存储过程p_test,如何才能每20分钟执行一次? 解答: 1、把init.ora中如下两个参数打开 JOB_QUEUE_INTERVAL=60 JOB_QUEUE_PROCESSES=4 job_queue_keep_connections=true 然后重启一个库,如果原来已经打开了则不用这步了 2、示例,以下由sqlplus 来执行,具体参照一下相关的文档 VARIABLE jobno numb...
完整性约束 完整性约束用于增强数据的完整性,Oracle提供了5种完整性约束: Check NOT NULL Unique Primary Foreign key 完整性约束是一种规则,不占用任何数据库空间。完整性约束存在数据字典中,在执行SQL或PL/SQL期间使用。用户可以指明约束是启用的还是禁用的,当约束启用时,他增强了...
笔者认为,在创建索引时要做到三个适当,即在适当的表上、适当的列上创建适当数量的索引。虽然这可以通过一句话来概括优化的索引的基本准则,但是要做到这一点的话,需要数据库管理员做出很大的努力。具体的来说,要做到这个三个适当有如下几个要求。 一、 根据表的大小来创建索引。 虽然给表创建索引,可以提高查询的效率。但是数...
在StdAfx.h文件中,#endif // _AFX_NO_AFXCMN_SUPPORT之前,加入: #import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","adoEOF") 接着, 在My.cpp文件InitInstance方法中, AfxEnableControlContainer();之前,加入:  if(!AfxOleInit())  //初始化  { AfxMessageBox( " initialize false!" ); } ...
标签: 办公软件
Word共享Access数据最简单的方法是复制、粘贴,你只需打开Access数据库中的表,就可以像复制Excel数据那样复制Access数据然后粘贴到Word中。另外,Word还可以使用插入记录的方法共享Access、SQL数据。 1、插入全部记录 右键单击Word工具栏,选择“数据库”命令,打开“数据库”工具栏,单击“插入数据库”按钮,在打开的“数据库”...

经验教程

787

收藏

70
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部