将重复类型的列添加到数据表中

时间:2011-01-09 19:34:11

标签: asp.net

如何为数据表中的列添加相同的字段。我想制作一个多次重复相同类型的列名称的数据表,但是dot net不允许我添加它,但我想这样做,我能做到吗?

table.Columns.Add("S.NO", typeof(int));
            table.Columns.Add("DC", typeof(string));
            table.Columns.Add("DC", typeof(string));
            table.Columns.Add("DC", typeof(string));
            table.Columns.Add("ST", typeof(string));
            table.Columns.Add("ST", typeof(string));
            table.Columns.Add("AD", typeof(string));
            table.Columns.Add("AD", typeof(string));

3 个答案:

答案 0 :(得分:3)

你这样做

   DataColumn col = new DataColumn();
                col.Caption = "Your Caption";
                col.ColumnName = "UniqueColumnName";
                col.DataType = System.Type.GetType("System.String");
                testDataTable.Columns.Add(col);

只是说它的不良做法没有帮助,我们都知道它的不良做法,但为了显示目的,我们有时需要这个;)

答案 1 :(得分:1)

这正是为避免创建关系数据库的原因。您不应该在表格中重复相同的列。相反,列的每个实例都应成为相关表中的行。

因此,像(SNo INTEGER,INFO STRING,ST STRING,ST STRING)这样的表将变成两个表(SNo INTEGER,INFO STRING)和(SNo INTEGER,ST STRING)。原始“记录”将成为第一个表中的一个记录和第二个表中的两个匹配记录(使用SNo值匹配)。

答案 2 :(得分:0)

旧帖子,您可以使用二进制空字符:

string NullString= "\0";

table.Columns.Add("DC", typeof(string));
table.Columns.Add("DC" + NullString, typeof(string));