2013-12-17 139 views
2

我收到以下錯誤試圖將列添加到數據表「數據表」不包含「列」

數據表「不包含定義‘列’,沒有擴展方法」欄目的定義'接受 類型的第一參數‘數據表’可以發現

這裏是生成錯誤代碼!

static void Main() 
{ 
    // Get the DataTable 
    DataTable myTable = getStatusTable(); 
} 

static DataTable getStatusTable() 
{ 
    // Create a DataTable with 4 columns  
    DataTable myTable = new DataTable(); 

    myTable.Columns.Add("Dosage"); 
    myTable.Columns.Add("Drug"); 
    myTable.Columns.Add("Patient"); 
    myTable.Columns.Add("Date"); 

    // Create the Table Row 
    myTable.Rows.Add(25, "Indocin", "David", DateTime.Now); 
    myTable.Rows.Add(50, "Enebrel", "Sam", DateTime.Now); 
    myTable.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now); 
    myTable.Rows.Add(21, "Combivent", "Janet", DateTime.Now); 
    myTable.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now); 
    myTable.Rows.Add(25, "Vitamin C", "Guzzyman", DateTime.Now); 

    return myTable; 
} 

我該如何糾正這個問題?

+2

你加'使用System.Data;'?有自定義DataTable類的 –

+3

? – jbl

+0

我剛剛在控制檯應用程序中試過這個確切的代碼,它工作正常,你可以分享你的堆棧跟蹤? –

回答

2

您在某處創建了一個自定義DataTable類。該類位於using列表中的名稱空間中。您需要完全限定像這樣:

System.Data.DataTable myTable = new System.Data.DataTable(); 
+0

這是一個很好的猜測...... –

+0

@ThomasLevesque,我認爲這不是一個猜測,而是一個觀察。如果'class'被識別出來,但是這個期望的類的一個衆所周知的成員不是,那麼在可用命名空間列表中的某個地方有一個自定義的'DataTable'類。它甚至可能和我想的這個類在同一個命名空間中。 –

+0

我也嘗試過使用System.Data.DataTable,但git這個錯誤CS0029:無法隱式地將類型'DataTable'轉換爲'System.Data.DataTable' – Guzzyman

0

試試下面的代碼

myTable.Columns.Add(new DataColumn("Dosage")); 
myTable.Columns.Add(new DataColumn("Drug")); 
myTable.Columns.Add(new DataColumn("Patient")); 
myTable.Columns.Add(new DataColumn("Date")); 
+2

這會產生相同的錯誤,因爲您只是使用另一個版本的未定義集合的「添加」方法。 –

+0

是的...我使用System.Data添加 – Guzzyman