我正在尝试显示日期并将其恢复为“Labels = strings”, 但我在行上有一个错误“list.Add((string)myReader [”Date“]);”
这是我的代码:
con.Open();
myReader = cmdDB.ExecuteReader();
List<string> list = new List<string>();
while (myReader.Read())
{
list.Add((string)myReader["Date"]);
}
string[] strings = list.Select(x => x.ToString()).ToArray();
cartesianChart1.AxisX.Add(new Axis
{
Title = "Date",
Labels = strings
});
cartesianChart1.AxisY.Add(new Axis
{
Title = "Sales",
LabelFormatter = value => value.ToString()
});
任何解决方案?谢谢!附:我正在使用livechart和mysql
答案 0 :(得分:3)
您可以尝试这样
list.Add(myReader["Date"].ToString());
如果您愿意,还可以在ToString(dd-MM-yyyy) using Custom Date and Time Format Strings
中将格式应用于您的日期答案 1 :(得分:0)
做
list.Add(Convert.ToString(myReader["Date"]));
您的Date
列似乎不是字符串,而是日期时间列。
执行(string)myReader["Date"]
尝试将datetime列上的显式类型转换为字符串,这是不可能的。但是Convert.ToString
给出了值的字符串表示。
即使值为null
,Convert.ToString(object value)
也会返回null
,而不是像.ToString()
那样抛出异常。
答案 2 :(得分:0)
使用
if (Convert.IsDBNull(columnValue))
{
return null;
}
return columnValue;
每次验证数据为null还是emty并返回值
答案 3 :(得分:0)
注意:如果我们在DataBase中有DateTime类型的列,在asp.net core/Csharp应用中有String类型
我们可以在存储过程级别将 DateTime 转换为字符串
例如
date_format(ReferralDate, '%d/%m/%Y') as ReferralDate,
存储过程的完整示例
SELECT referralCostsID,
ClientID,
ReferralSource,
date_format(ReferralDate, '%d/%m/%Y') as ReferralDate,
AdCost,
Notes
FROM referralcostssetup