[英]SQL select query - no seconds or milliseconds in datetime
我有一個帶有表PhoneHistory
和列Date
的數據庫,它是datetime
數據類型。
我嘗試使用此答案,但無法使其正常工作。 因為我需要一個DataTable
作為返回類型,而且我目前也在使用DataAdapter
。
這就是我目前所擁有的。 我只得到帶有小時和分鍾的日期,而不是秒和毫秒。
public static DataTable GetHistory()
{
string query = "SELECT TOP 100 Date FROM PhoneHistory";
return SelectSql(connectionString, query, "");
}
private static DataTable SelectSql(string connectionString, string query, string dtName, params object[] args)
{
using (OleDbConnection con = new OleDbConnection(connectionString))
{
try
{
con.Open();
}
catch (Exception ex)
{
Global.Log($"Es konnte keine Verbindung zur Datenbank hergestellt werden! Fehlermeldung: [{ex.Message}]");
return new DataTable(dtName);
}
using (OleDbCommand command = new OleDbCommand(query, con))
{
for (int i = 0; i < args.Length; i++)
{
command.Parameters.AddWithValue($"@p{i + 1}", args[i]);
}
using (OleDbDataAdapter a = new OleDbDataAdapter(command))
{
DataTable dt = new DataTable(dtName);
try
{
a.Fill(dt);
return dt;
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
return new DataTable(dtName);
}
}
}
}
我需要使用DataTable
作為返回類型。
我想得到這樣的日期(這是它在數據庫中的樣子):
2019-07-30 10:10:16.526
2019-07-30 10:08:58.711
但我總是得到這樣的日期(這是我用代碼得到的):
2019-07-30 10:10:00.000
2019-07-30 10:08:00.000
DataAdapter 並沒有“削減”毫秒數。 您需要在 DataGridView 中格式化列的單元格樣式。 在設置數據源后添加此項。
dgdHistory.Columns[0].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss.fff"
這將按照您描述的方式對其進行格式化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.