2016-04-03 16 views
1

Ich habe das getrennte Modell für mein Projekt verwendet. Das Problem ist, dass ich den Datenadapter .Fill Befehl verwendet habe, um meine Datentabelle zu füllen, und es wurde erfolgreich gefüllt, aber nach dem Füllen der Datentabelle kann ich die datatable.Find Methode nicht verwenden, um Daten auf der Basis seines Primärschlüssels zu suchen. Ist es nicht möglich, dass der Datenadapter nach dem Füllbefehl alles einschließlich des Primärschlüssels zuweist? Diese //DataRow r = dt.Rows.Find(BO.RoomNo); , gibt Fehler, wenn debuggt sagt kein Primärschlüssel vorhandenKann Datentabelle nicht verwenden.Find Methode nach dem Füllen der Datentabelle mit Datenadapter

So muss ich eine foreach-Schleife anstelle

foreach (DataRow r in dt.Rows) 
{ 
    if (BO.RoomNo == (int)r[1]) 
    { 
    temp.RoomNo = (int)r[1]; 
    temp.Category = (string)r[2]; 
    temp.Price = (float)r[3]; 
    temp.Status = (string)r[4]; 
    } 
} 

Antwort

0

Sie haben PrimaryKey Eigenschaft von Datatable zu setzen, wie unten erwähnt,

//ID is primary key 
dt.PrimaryKey = new DataColumn[] { dt.Columns["ID"]}; 
+0

Vielen Dank, es hat funktioniert. –

+0

Wie geht das? durch Klicken auf den Pfeil nach oben? –

+0

In meiner Antwort –