我用的是ODBC+ACCESS编写数据库程序,在增加,删除及修改记录时我用的都是记录集提供的函数,可是我想更新数据库中的内容就用了CDatabase的ExecuteSQL()函数,我是这样写的:
sql.Format("update video set videoid=videoid-1 where videoid>%d",id);
database.ExecuteSQL(sql);
database.Close();
可是抛出异常了,那应该如何写呢?

解决方案 »

  1.   

    videoid是不是主键,如果是主键好象不能这么操作!!
      

  2.   

    先捕获错误看一看是什么原因:
    try
    {
      //你的代码
    }
    catch( ... )
    {
      //显示错误信息
    }在你ExecuteSQL时,database是否已经打开?如果没有,肯定抛出异常了
      

  3.   

    videoid 是主键 那打开记录集是用OPEN()函数吗?
      

  4.   

    datebase.Open(NULL, FALSE, FALSE, _T("ODBC;DSN=MyODBC;UID=admin;PWD=123456")); //打开数据库