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