web-dev-qa-db-fra.com

Comment récupérer les valeurs de la dernière ligne d'un DataTable?

J'ai des problèmes pour récupérer les valeurs de la dernière ligne insérée dans une table de données. J'ai un formulaire de connexion et les valeurs seront insérées dans la table avec l'ID (int, une valeur incrémentée automatiquement), l'ID utilisateur (int), logintime (smalldatetime) et logouttime (smalldatetime). Le code qui est utilisé à l'intérieur du bouton de connexion, il insère donc toutes les valeurs sauf le temps de déconnexion

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

et dans le bouton de déconnexion, je mets à jour la table, je dois donc récupérer les valeurs de la dernière ligne. Je mets à jour la table en référence à la valeur ID et à l'ID utilisateur . Puis-je utiliser cette requête pour obtenir les valeurs? Mais je ne peux pas comprendre comment?

SELECT COLUMN FROM TABLE ORDER BY COLUMN DESC

Merci d'avance

9
Cindrella

si vous devez lire les valeurs de la dernière ligne,

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

vous reviendra en dernier rang. et vous pouvez en lire les valeurs.

Ma deuxième hypothèse est que, par datatable, vous faites référence à table in sql server. 

Ensuite, avec une petite modification, votre requête est également correcte.

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

dt.AsEnumerable() renvoie un IEnumerable<DataRow>

6
Sruti

Vous pouvez obtenir la valeur de votre session, puis mettre à jour votre base de données en fonction de vos modifications. 

DateTime t2 = DateTime.Now;

DataRow Row = Mylagin_dataTable.Rows.Count-1

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

si votre ID en session alors utilisez ci-dessous 

DateTime t2 = DateTime.Now;

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

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

Exécuter la requête suivante sur l'événement Application Exit, cela fera votre travail

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

0
Ankush Madankar