it-swarm.com.de

Wie Abrufen von Werten aus der letzten Zeile in einer DataTable?

Ich habe Probleme beim Abrufen von Werten aus der letzten eingefügten Zeile in einer Datentabelle. Ich habe ein Anmeldeformular und die Werte werden in die Tabelle eingefügt. Sie enthält die ID (int, einen automatisch erhöhten Wert), userID (int), logintime (smalldatetime) und logouttime (smalldatetime). Der Code, der innerhalb der Login-Schaltfläche verwendet wird, fügt somit alle Werte außer der Abmeldezeit ein

DateTime t1 = DateTime.Now;
objbal2.insertLoginTime(s, t1);

und in der Abmeldeschaltfläche aktualisiere ich die Tabelle, daher muss ich die letzten Zeilenwerte abrufen. Ich aktualisiere die Tabelle mit Bezug auf den ID-Wert und die Benutzer-ID ..__ Kann ich mit dieser Abfrage die Werte abrufen? Aber ich kann nicht herausfinden wie?

SELECT COLUMN FROM TABLE ORDER BY COLUMN DESC

Danke im Voraus

9
Cindrella

wenn Sie die Werte aus der letzten Zeile dann lesen müssen

DataRow lastRow = yourTable.Rows[yourTable.Rows.Count-1];

wird Ihnen die letzte Reihe zurückgeben. und Sie können die Werte daraus ablesen.

Meine zweite Vermutung ist, dass Sie sich bei datatable auf Tabelle in SQL Server beziehen. 

Dann ist Ihre Abfrage mit kleinen Änderungen auch in Ordnung.

SELECT TOP 1 COLUMN FROM TABLE ORDER BY COLUMN DESC
26
Ehsan
var dt = new DataTable();
dt.AsEnumerable().Last();

dt.AsEnumerable() gibt einen IEnumerable<DataRow> zurück

6
Sruti

Sie können den Wert aus Ihrer Sitzung abrufen und dann Ihre Datenbank entsprechend Ihrer Änderung aktualisieren 

DateTime t2 = DateTime.Now;

DataRow Row = Mylagin_dataTable.Rows.Count-1

Row[0]["LogoutTime"] = t2 ;

wenn deine ID in session ist dann verwende unten 

DateTime t2 = DateTime.Now;

DataRow Row = Mylagin_dataTable.Select("LoginID='"+ HttpContext.Current.Session["loginID"] + "'");

Row[0]["LogoutTime"] = t2 ;
1
MSTdev

Führen Sie die folgende Abfrage für das Ereignis Application Exit aus. Dies erledigt Ihre Arbeit

string _query = string.Format("update top 1 SessionTable set LogOutTime = {0} where UserID = {1} order by ID desc", DateTime.Now, UserID);

0
Ankush Madankar