SQL select ステートメントを呼び出して、結果をデータ グリッドに表示しています。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;
}
}
}
}
}