有一个dataadapter,一个dataset,dataset中有一个表,用dataadapter对表中的数据进行编辑时,并没有问题
但在表中增加一个计算列后,更新数据产生错误"不能更改计算列的 ReadOnly 属性"
这个列只是计算用的,并不需要更新到数据库,但系统怎么会提示更改ReadOnly属性呢?

解决方案 »

  1.   

    在更新前增加这句:
    dt.Columns["计算列"].ReadOnly = false;当使用select *, 1 tmp from table1读取数据和结构的时候,tmp这个字段会被置为ReadOnly
    而commandbuilder自动生成updatecommand其实挺傻的,就这样就处理不过来了~手工改一下
      

  2.   

    readonly设为true和false都会出错,现在只能直接忽略该错误,虽然没什么影响,但总觉得不爽
      

  3.   

    自己指定inertCommand , upDataCommand ,使用存储过程,并吧要更新的列映射到存储过程的变量里