我有一个带有TableAdapter的数据集,当我说这样的话时
this.medicineDatasetTableAdapter.Fill(this.statisticsDataset.MedicineDataset);
它给我带来了数据库的所有结果,并使用DevExpress控件的一个数据透视显示它们。 我使用sqlite作为数据库,我存储在一个提交的日期时间,例如'1/4/2012'作为字符串,何时是从枢轴显示的时间与分组作为DateMonth或任何..没有任何显示。我认为枢轴不理解分组日期的格式.. 现在,我尝试使用GetData命令从DataSet获取DataTable,并将日期时间更改为正确的日期,并使用正确的日期结果再次填充它。 我试过的一种方式就像
StatisticsDataset.MedicineDatasetDataTable datatable = this.medicineDatasetTableAdapter.GetData();
DataTable a = this.medicineDatasetTableAdapter.GetData();
foreach (DataRow row in a.Rows)
{
DateTime tempDate = DateTime.ParseExact(row.ItemArray[4].ToString(), Resources.ShortDateFormat, new CultureInfo(Resources.CurrentCulture));
row[4] = tempDate;
}
this.statisticsDataset.MedicineDataset = a;
//this.medicineDatasetTableAdapter.Fill(this.statisticsDataset.MedicineDataset);
this.medicineDatasetTableAdapter.Fill((MedExpress.Dataset.StatisticsDataset.MedicineDatasetDataTable)a);
但它不起作用。有什么建议吗?
答案 0 :(得分:1)
当然似乎是一个类型问题。
查看您从“文本”单元格中获取数据的代码,将其转换为DateTime,然后将值复制回相同的“文本”单元格(这会将值转换回字符串!) 。我建议要么......
为您的MedicineDatasetDataTable创建一个新的强类型DateTime单元格,并将解析后的值复制到该单元格中。
为什么要将DateTime值存储为字符串,几乎所有数据库产品(抱歉我从未使用过SQLLite)都支持这种数据类型,而在强类型场景中,则无需转换值。