0

WinFormアプリケーションのバックエンドとしてSQLServerCompactEditionを使用しています。

テーブルの1つに列のタイムスタンプがあります。私は次のようにタイムスタンプを保存しました:

DateTime dt = System.DateTime.Now;
long timestamp = dt.Ticks;

現在の日付と時刻を表すlong値をデータベースに格納します。

DataSourceプロパティを設定して、テーブルのデータをDataGridViewコントロールに表示したいと思います。

SQLクエリ「select*from my-table」を使用してテーブルデータを取得し、DataSourceにアタッチすると、タイムスタンプがlong値として表示されるだけです。

私の質問は、DataGridViewに表示する前に、タイムスタンプをdd-mm-yyyy形式のDateTime値に戻すにはどうすればよいですか?

4

2 に答える 2

0

どうですか

Datetime dt = new DateTime(longvaluefromdatabase);

DateTime構造体の新しいインスタンスを指定されたティック数に初期化します。

これを読む

于 2012-08-11T11:26:43.107 に答える
0

datatableを使用している場合は、次のことができます。

resultDataTable.Columns.Add(new DataColumn("DateTime", typeof(DateTime)));
foreach (DataRow r in dt.Rows)
{
    r["DateTime"] = new DateTime(Convert.ToInt32(r["Timestamp"]);
}
dt.Columns.Remove("Timestamp");

これをチェックして、sqlceresultset.resultviewをdatatableに変換します。SQLCEResultSetresultviewをdatatableに変換します

于 2012-08-11T12:03:58.983 に答える