【发布时间】:2013-11-19 17:25:38
【问题描述】:
技术是winforms,使用c#,数据库是SQlite。
我从数据库中获取值,将它们传输到列表中,然后用这些列表填充列表视图。
我有两列日期。一个具有年和月 (YYYY-MM) 格式的值,另一个是年和周 (YYYY-WW)。
问题:
但在列表视图中,这些值显示为它们之间的斜线,即 2001 年 1 月写为 1/1/2001 12:00 am。 2002 年的第 31 周写成 3/1/2002 12:00 am。
我不希望输出中出现 TIME 或斜线。 (前 2 个列表是 listview 中的输出,带有我上面提到的错误。后 2 列是数据的外观)。
问题是由什么引起的:我使用 DateTime 数据类型来存储这些列中的值。是否有任何数据类型仅以年月和年周格式输出这些值,而不是显示斜线和时间。如果我尝试使用 int,这些列甚至不会被读取,因此无法使用。
代码:(只关注 yyyymm 部分)
string sql6 = "select YYMM, TotalTrans from t2 where cast(TotalTrans as int) < 1000";
SQLiteCommand command3 = new SQLiteCommand(sql6, sqlite_conn);
SQLiteDataReader reader3 = command3.ExecuteReader();
while (reader3.Read())
{
int TotalTrans;
DateTime yyyymm; //Right here:
if (DateTime.TryParse(reader3["YYMM"].ToString(), out yyyymm) && int.TryParse(reader3["TotalTrans"].ToString(), out TotalTrans))
{
YYMM.Add(yyyymm);
TotalTransIrregularities.Add(TotalTrans);
}
}
【问题讨论】: