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;
}
}
}
}
}
您需要更改Grid列的格式以所需格式显示日期,这不是SQL的问题。
如何格式化DataGridView中的DateTime列?
为您的边界字段提供日期格式,用于长时间:-
<asp:boundfield DataField="DateColumn" DataFormatString="{0:G}" HtmlEncode="false" />
更多日期格式字符串