2011-01-09 67 views
0

我怎麼能在一個數據表中添加相同的字段列。我想製作一個數據表,它可以多次重複同一類型的列名,但是dot net不允許我添加該數據表,但是我想這樣做可以嗎?添加重複類型的列到DataTable

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)); 
+0

你**不能* *有兩個同名的專欄 - 期間。如果您有這種情況,您需要添加一個數字後綴(「AD1」,「AD2」)或其他東西 - 你**不能**在任何情況下都有兩個同名的列。 – 2011-01-09 20:57:58

回答

1

這正是關係數據庫的建立是爲了避免。您不應該重複表格中的同一列。相反,列的每個實例都應該成爲相關表中的行。

因此,像SNo INTEGER,INFO STRING,ST STRING,ST STRING這樣的表將改爲兩個表(SNo INTEGER,INFO STRING)和(SNo INTEGER,ST STRING)。原始的「記錄」將成爲第一個表中的一條記錄和第二個表中的兩條匹配記錄(使用SNo值進行匹配)。

+0

但我的要求是這樣的,我想創建一個這樣的報告,這需要我複製庫侖名稱....我該怎麼辦? – NoviceToDotNet 2011-01-09 19:37:20

3

你不喜歡這樣

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

只是說其不好的做法是沒有幫助的,大家都知道它不好的做法,但爲了顯示我們有時需要這一點;)

+0

我一直在尋找一種方法來做到這一點。取決於你在做什麼,這是不好的做法。我正在顯示查詢返回的內容,這意味着可能有重複的列名稱。在這種情況下以這種方式顯示它們沒有任何問題。 – 2014-11-03 22:34:51