質問のタイトルは明確ではありませんが、この問題は次の説明で非常に明確です。
BirthDayCREATE TABLE クエリで datetime として宣言されたフィールドがあります。次のクエリがあり、次のように DataTable に入力する場合、このフィールドを呼び出します。
SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT BirthDay FROM myTable", myConnection);
DataTable dt = new DataTable();
da.Fill(dt);
myDataGridView.DataSource = dt;
の列BirthDayにmyDataGridViewは のタイプがDateTimeあり、 で確認でき myDataGridView.Columns["BirthDay"].ValueTypeます。
ただし、次のように SELECT クエリを少し変更すると:
SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT CASE WHEN 1 THEN BirthDay END AS BirthDay2 FROM myTable", myConnection);
DataTable に入力し、myDataGridView にバインドした後、BirthDay2列も のタイプであると予想しました。DateTimeただし、タイプはSystem.Object?
試してみましCAST(... as DATETIME)たが、返される型はSystem.Int64(SQLite の DATETIME が実際にInt64は .NET に対応することを理解しています)、どうすればSystem.DateTime元の column として返すことができるのでしょうかBirthDay。
最終的な型 ( で確認できますDataGridViewColumn.ValueType) が必要なので、日時文字列を希望どおりにフォーマットDateTimeするために使用できます。DataGridViewColumn.Format
あなたの助けは非常に高く評価されます!