确定数据表中列的字段长度

时间:2009-06-05 20:55:51

标签: c# xml datatable

我有一个通过Dataset.ReadXML()方法填充的DataTable。我试图以编程方式确定数据表中每列的最大字段长度。我所有列的MaxLength值始终为默认值-1。

有关如何确定正确最大长度的任何想法或示例?可能基于表中的实际数据? (数据表可以在25列,200,000+行范围内)

C#2.0

2 个答案:

答案 0 :(得分:2)

我相信它会是DataSet.DataTable.Columns [0] .MaxLength

答案 1 :(得分:2)

我不太明白你的目标是什么 - 你想要找出什么?给定列将使用的字节数(例如,4表示INT,8表示BIGINT等),或实际当前最大长度例如“ColA”栏中的所有字符串?

对于INT和其他数字和布尔类型 - 那些具有固定系统给定长度 - 没有问题。

除非您的XML具有限制字符串长度的模式(XSD文件),否则XML中的字符串字段可以是任意长度,因此在读取之后,您的DataTable无法真正知道定义的最大长度是多少可以。

您可以做的就是遍历DataTable中的所有行,并确定字符串的当前长度,并获取当前长度的最大值,作为参考框架。

这有帮助吗?

马克