確切的例外情況是 System.Data.dll中出現'System.Data.MissingPrimaryKeyException'在C#.Net中,爲DataTable設置了主鍵,但引發了「表沒有主鍵」異常
附加信息:表沒有主鍵。
但是,我已經設置了主鍵。這是代碼。謝謝。
DataColumn[] PrimaryKeyColumns; //Global
DataTable firstLinesDT = new DataTable();
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "FirstLines";
column.Unique = true;
firstLinesDT.Columns.Add(column);
PrimaryKeyColumns = new DataColumn[1];
PrimaryKeyColumns[0] = column;
firstLinesDT.PrimaryKey = PrimaryKeyColumns;
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "Length";
firstLinesDT.Columns.Add(column);
column = new DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = "FilePath";
firstLinesDT.Columns.Add(column);
**// EXCEPTION THROWN AT FIND OPERATION**
DataRow foundRow = firstLinesDT.NewRow();
foundRow = firstLinesDT.Rows.Find(line);
而且根據MSDN,主鍵這究竟是如何應該是SET- http://msdn.microsoft.com/en-us/library/system.data.datatable.primarykey.aspx
這並不能真正幫助您找出問題所在,但所給出的代碼對我來說很有效。它沒有在Find調用中拋出異常。 –
你有什麼.NET版本? – NotMe
.NET Framework 3.5。 Arrgh! – PixelatedPixie