簡體   English   中英

SQL 選擇查詢 - 日期時間中沒有秒或毫秒

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM