Sqlite データベースから日時値を読み取り、datepicker コントロールに割り当てたいと考えています。これが私が試している私のコードです:
try
{
sqlitecon.Open();
string Query = "Select * from Customer_New where Cust_Id='" + val + "' ";
SQLiteCommand createCommand = new SQLiteCommand(Query, sqlitecon);
// createCommand.ExecuteNonQuery();
SQLiteDataReader dr = createCommand.ExecuteReader();
while(dr.Read()){
if(!dr.IsDBNull(1))
date_open.DisplayDate = dr.GetDateTime(1);
if(!dr.IsDBNull(2))
Date_Joining.DisplayDate = dr.GetDateTime(2);
if(!dr.IsDBNull(3))
txt_Title.Text = dr.GetString(3);
if(!dr.IsDBNull(4))
txt_cardnum.Text =dr.GetString(4);
}
sqlitecon.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
上記のコードはフォーム ロード イベントで実行されます。そのため、フォームがロードされると、日付値が db テーブルから日付ピッカーにロードされます。ただし、「指定されたキャストが無効です」という例外を示すメッセージ ボックスが表示されてフォームが開かれます。次に、dbから値をロードできず、whileループでの日付フィールドの割り当てを削除すると、残りのテキストフィールドがフォームに正しく割り当てられます。日付の私のデータベース形式は :MM/DD/YYYY であり、タイプは datetime です。「date_open.DisplayDate = dr.GetDateTime(1);」にブレークポイントを置いてデバッグする場合 システムの日付と時刻が表示されます。My db テーブルは次のシーケンスです。date_open | Date_Joining |..... .助けてください