Finden Sie eine Zeile in einer DataTable
Ich habe eine Tabelle in einem DataSet und möchte ich Suche für eine Zeile in dieser Tabelle mit einem eindeutigen Schlüssel.
Meine Frage ist : gibt es eine Methode, die es erlaubt mir zu finden, diese Zeile ohne die Verwendung von Schleifen ?
Dies ist der code, den ich schrieb mit der forech Schleife :
foreach (var myRow in myClass.ds.Tables["Editeur"].AsEnumerable())
{
if (newKeyWordAEditeurName == myRow[1] as String)
id_Editeur_Editeur = (int)myRow[0];
}
InformationsquelleAutor Spoon Yukina | 2012-09-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sicher. Haben Sie die Select-Methode aus einer DataTable. Holen Sie sich die Tabelle aus dem DataSet, und Wählen Sie verwenden, um es zu ergattern.
Ja, Wählen Sie gibt ein array von DataRow-Objekten (DataRow[]). Die Spalten in jeder Zeile enthalten die Felder in jedem Datensatz zurückgegeben, indem die Wählen Sie.
Aber ich möchte nur eine Zeile, weil das Feld, das ich verwendet, um die Suche für diese Reihe ist einzigartig
Ich versuchte dies :
var myRow = myClass.ds.Tables["Editeur"].Select(String.Format("ID = {0}", "test")); id_Editeur_Editeur = (int)myRow[0][0];
aber bekam ich diese Fehlermeldung :Cannot find the column [test]
Das format der select-Anweisung ist nicht ganz richtig. Sie müssen, setzen Sie Anführungszeichen um das Zielfeld, z.B. String.Format("ID = ""{0}""","test");. Ohne die Anführungszeichen, Wählen Sie interpretiert das Wort "test" als Namen einer Spalte, die nicht in der Ergebnismenge. Das ist die Wert willst du aus der ID-Spalte.
InformationsquelleAutor David W