当表格太大时,DataTable.Rows.Find给出“表没有主键”错误

时间:2010-11-20 00:51:08

标签: c#

使用.NET 3.5项目,我从MySQL表填充了DataTable。该表包含我需要搜索的“电子邮件”列。我明确设置主键,以下代码正常工作,直到我在表中获得422或更多行。

object[] searchfor = new object[] { row["email"] };
DataColumn[] pk = new DataColumn[] { dtAccounts.Columns["email"] };
dtAccounts.PrimaryKey = pk;
match = dtAccounts.Rows.Find(searchfor);

我想也许在422记录中可能存在一些不良数据,但已经证实情况并非如此。我得到的错误是“表没有主键”,显然它确实如此。

1 个答案:

答案 0 :(得分:1)

我的坏。我通过网络服务填充我的DataTable,一旦我达到422行,邮件大小太大而我的DataTable从未填满。我只需要增加app.config文件中的maxReceivedMessageSize值。在这种情况下,错误消息不太有用!