为什么CRecordset与数据库中的多个表相连时记录总是只读的?是不是通过CRecordset类只能更新一个表中的数据呀?

解决方案 »

  1.   

    你是用什么方法打开的啊,试试看用CRecordset::open(CRecordset::dynamic,CRecordset::GetDefaultSQL())打开
      

  2.   

    数据库本身是不允许在同一sql 语句中同时对两个及两个以上的表进行修改、插入等操作的。如果你的CRecordset同时打开两个及两个以上的表时,自动设定为只读。你可以跟踪看一下。
      

  3.   

    确实是那样,我以前很少用CRecordset类,它不能同时执行多个sql语句吗,即根据CRecordset所连接的表要更新的内容,生成多个SQL更新相应的内容?谢谢
      

  4.   

    据我所知,可以同时执行多个SQL语句,如果是查询的话可以涉及多个表,但是如果数据改动则只能在一个表中进行