我正在调用dataTable.Load(sqlDataReader)
,其中2列自动在dataTable中设置为ReadOnly
。其余列可编辑。我知道我可以编辑此属性,但我想知道它如何确定要设置为ReadOnly
的内容。
其中一列是表的主键,另一列是Bit
。 Bit
列在SQL Server中有一个默认约束,但这就是全部。我用来调用它的查询是将列转换为INT
。我想知道是否有一种方法可以编辑我的SQL查询以使列只读。
答案 0 :(得分:0)
您可以通过指定列详细信息来回答您自己的问题。
我的假设是DataTable是以能够更新,插入,删除行/列等的方式创建的。因此,由DataTable以外的资源处理或计算的任何内容都可能是只读的
因此,主键列可能是IDENTITY列,这意味着数据库会分配键,这意味着您不想添加自己的值!因此被标记为只读。
下一个可能不是因为列上有默认值。因为从技术上讲,您不包括位列,但是您要包含基于位列的计算列。因此,您所包含的列实际上并不存在于基础表中,因此.net将无法更改列中的数据.....