我有一个数据表,我正在填充SqlDataAdapter.Fill()。有没有办法动态地将MaxLength
属性分配给每个字符串数据列到数据库中该列允许的最大值?
答案 0 :(得分:2)
所以我用谷歌搜索了一段时间,发现DataAdapter除Fill
之外还有另一种方法:FillSchema(),其中包含DataTable
的数据库模式。由于我想要带来的是MaxLength属性,我所做的是将模式加载到另一个表中并循环遍历为每个表分配值的列。
当然,如果你想在表中保留数据库中的所有约束,那么你就不需要循环,只需将模式加载到数据表中。
答案 1 :(得分:0)
PedroC88 的回答奏效了。澄清任何新手所需的代码。在我的适配器填充方法上方,我编写了 fillschema 方法。 (SchemaType)2 参数是必需的。有 2 个不同的 schematypes(1 和 2),建议使用 2,因为它应用了现有的表映射(尽管我不知道这是什么意思)。
myAdapter.FillSchema(dataTable, (SchemaType)2);
myAdapter.Fill(dataTable);
在这段代码中,'myAdapter' 是我的适配器的名称,'dataTable' 是我的数据表的名称。