Vergleichen Sie zwei von DataRows
Ich habe eine datatable mit mehreren Zeilen drin. Ich habe 1 Zeile mehr, und ich möchte, um zu überprüfen, ob diese Zeile ist ein Duplikat der vorhandenen Zeilen in der datatable. Also habe ich versucht wie:
DataTable dataTable = GetTable();
if (dataTable.Rows.Count > 1)
{
for (int i = 0; i < dataTable.Rows.Count; i++)
{
var dataRow = dataTable.Rows[i];
if (dt.Rows.Contains(dataRow) && dt.Rows.Count != 0) //Giving error
continue;
dt.ImportRow(dataRow);
return dataRow;
}
}
Hier, meine dataTable
kann auch null sein/leer für die erste Zeit.
Aber seine Angabe Fehler:
Tabelle nicht über einen Primärschlüssel verfügen.
Kann mir jemand helfen bitte. Wenn weiterer code benötigt wird, nur Kommentar.
- Ist die Tabelle, die Sie verwenden, aus der Datenbank gelesen hat, a primary key (in der Datenbank selbst)? Es scheint, dass es nicht...
- ja, es habe einen primary key in der Datenbank für sicher
- Was bekommen Sie für die Eigenschaft
dataTable.PrimaryKey
? - siehe mein edit-post.....lassen Sie mich überprüfen
- wenn dataTable leer ist,
dataTable.PrimaryKey
gibt den gleichen Fehler. - siehe edit post...
- Welche Größe haben die Tabelle? Wie viele Zeilen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht fügen Sie die PK auf Ihrem DataTable-Objekt?
Ich denke, der code wäre so etwas wie dieses:
Ich davon ausgehen, dass Ihre
dt
variable soll IhrdataTable
variable, wenn Sie eine Fehlermeldung, die Ihnen mitteilt, dass Ihre Tabelle nicht über einen Primärschlüssel verfügen, könnte es sein, weil Sie die falschen Variablen und es ist nicht wirklich ein Primärschlüssel ist oder eine Tabelle zugeordnet, die variable, die Sie versuchen, zu verwenden.also gehe ich davon aus, dass der code sollte wie folgt Aussehen stattdessen