如何将日期从DateTimePicker控件转换为mm/dd/yy 12:54:30 PM格式(当前日期时间格式)?

Sha*_*wal 0 c# sqlite compact-framework datetimepicker

我正在用C#开发移动应用程序.我正在使用SQLite数据库来存储数据.在SQLite数据库中,我存储与客户相关的信息.在那里我用mm/dd/yy 12:54:30 PM格式存储日期.现在我想根据开始日期和结束日期来检索客户数据.我使用以下代码

ShowRegistrationKeyDetails ShowRegKeyDetailsObj = new ShowRegistrationKeyDetails();
// set properties
          ShowRegKeyDetailsObj.FromDate = FromdateTimePicker.Value.ToString();
        ShowRegKeyDetailsObj.ToDate = TodateTimePicker.Value.ToString();
Run Code Online (Sandbox Code Playgroud)

当我根据这些值触发SQL查询时,我得不到正确的结果.我需要将FromdateTimePicker.Text和TodateTimePicker.Text的上述值转换​​为mm/dd/yy 12:54:30 PM格式.我使用以下代码

public SQLiteDataReader getClient_And_RegistrationKeys(int Customer_ID, String FromDt, String ToDt)
    {
        SQLiteDataReader SQLLiteDrObj = null;
        DataManager myDatabase = new DataManager("CompNet.db");
        myDatabase.Init(false);

        string[] Parameter = new string[] { "@Val_Customer_ID", "@Val_FromDt", "@Val_ToDt" };
        Object[] Objval = new Object[] { Customer_ID, FromDt, ToDt };

        string sqlCommandText = "Select Activation_Date, Standard_ID, Client_Key, Registration_Key from Activation_Details where Customer_ID=@Val_Customer_ID And Activation_Date between @Val_FromDt And @Val_ToDt";
        SQLLiteDrObj = myDatabase.ExecuteReader(sqlCommandText, Parameter, Objval);

        return SQLLiteDrObj;
    }
Run Code Online (Sandbox Code Playgroud)

我试过这段代码.现在我以我想要的格式获取日期,但我没有得到所需的行作为输出.输出中没有行.我哪里错了?你能告诉我任何代码吗?

Jon*_*eet 7

不要Text用来开始 - DateTimePicker.Value用来获取值作为DateTime.

理想情况下,在使用SQLite时也不要将其转换为文本 - 使用参数化查询而不是格式化它.请参阅本文,作为使用Cite和SQLite的参数化查询的一个示例.

作为一般规则,尽量避免通过文本.它非常适合向用户显示值,但是对于确信您拥有正确的数据而不必小心不同的格式等非常糟糕.