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)
我试过这段代码.现在我以我想要的格式获取日期,但我没有得到所需的行作为输出.输出中没有行.我哪里错了?你能告诉我任何代码吗?
不要Text用来开始 - DateTimePicker.Value用来获取值作为DateTime.
理想情况下,在使用SQLite时也不要将其转换为文本 - 使用参数化查询而不是格式化它.请参阅本文,作为使用Cite和SQLite的参数化查询的一个示例.
作为一般规则,尽量避免通过文本.它非常适合向用户显示值,但是对于确信您拥有正确的数据而不必小心不同的格式等非常糟糕.