c#:调用SQL SELECT语句不返回'时间单位为秒'价值

本文关键字:时间 价值 单位 返回 调用 SQL SELECT 语句 | 更新日期: 2023-09-27 18:19:05

我正在调用SQL选择语句并在数据网格中显示结果。一切都很好,除了在SQL中order_date列显示为'2004-01-30 09:35:52.000',而我的DataGrid列显示为'1/30/2004 9:35 AM'。主要问题是我失去了"秒"(在这个例子中是52秒)。我需要秒值。作为次要问题,我想知道这是如何工作的,这样我就可以格式化日期/时间如何在我的DataGrid中显示。

我正在测试的小c#程序的完整范围如下。很简单. .我认为我没有以任何方式明确定义日期/时间格式。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Test_to_Get_Seconds_From_SQL
{
    public partial class Form1 : Form
    {
        SqlConnection m_cnSQLConnection;
        SqlDataAdapter m_daDataAdapter;
        DataTable m_dtOrders;
        SqlCommand m_comSQLCommand;
        public Form1()
        {
            InitializeComponent();
        }
        private void btnShowOrders_Click(object sender, EventArgs e)
        {
            // Set Connection string
            string strSQLConnection;
            strSQLConnection = @"Initial Catalog=Sandbox;Data Source=WFDW3B79'SQLEXPRESS;Persist Security Info=True;Integrated Security=True;";
            // Open connection
            using (m_cnSQLConnection = new SqlConnection(strSQLConnection))
            {
                m_cnSQLConnection.Open();
                // Create new DataAdapter
                using (m_daDataAdapter = new SqlDataAdapter("SELECT * FROM Orders", m_cnSQLConnection))
                {
                    // Use DataAdapter to fill DataTable
                    m_dtOrders = new DataTable();
                    m_daDataAdapter.Fill(m_dtOrders);
                    // Render data onto the screen
                   dataGridView.DataSource = m_dtOrders;
                }
            }    
        }
    }
}

c#:调用SQL SELECT语句不返回'时间单位为秒'价值

您需要更改Grid列的格式以所需格式显示日期,这不是SQL的问题。

如何格式化DataGridView中的DateTime列?

为您的边界字段提供日期格式,用于长时间:-

<asp:boundfield DataField="DateColumn" DataFormatString="{0:G}" HtmlEncode="false" />

更多日期格式字符串