Как получить значения из последней строки в DataTable?
У меня возникли проблемы с получением значений из последней вставленной строки в таблице данных. У меня есть форма входа в систему и значения будут вставлены в таблицу есть ID (int, автоматически увеличенное значение), userID (int), logintime (smalldatetime) и logouttime(smalldatetime). Код, который используется внутри кнопки входа в систему, таким образом вставляет все значения, кроме времени выхода из системы
DateTime t1 = DateTime.Now;
objbal2.insertLoginTime(s, t1);
И в кнопке выхода из системы я обновляю таблицу, поэтому я должен получить значения последней строки. Я обновление таблицы со ссылкой на значение ID и идентификатор пользователя. Могу ли я использовать этот запрос для получения значений? Но я не могу понять как?
SELECT COLUMN FROM TABLE ORDER BY COLUMN DESC
Заранее спасибо
4 ответа:
Если вы должны прочитать значения из последней строки, то
DataRow lastRow = yourTable.Rows[yourTable.Rows.Count-1];
Вернет вам последнюю строку. и вы можете прочитать значения из него.
Мое второе предположение заключается в том, что под datatable вы имеете в виду таблицу в sql server.
Тогда с небольшими изменениями ваш запрос также хорош.
SELECT TOP 1 COLUMN FROM TABLE ORDER BY COLUMN DESC
var dt = new DataTable(); dt.AsEnumerable().Last();
dt.AsEnumerable()
возвращает значениеIEnumerable<DataRow>
Вы можете получить значение из сеанса, а затем обновить базу данных в соответствии с вашим изменением
DateTime t2 = DateTime.Now; DataRow Row = Mylagin_dataTable.Rows.Count-1 Row[0]["LogoutTime"] = t2 ;
Если ваш идентификатор в сеансе , то используйте ниже
DateTime t2 = DateTime.Now; DataRow Row = Mylagin_dataTable.Select("LoginID='"+ HttpContext.Current.Session["loginID"] + "'"); Row[0]["LogoutTime"] = t2 ;