无法在 C# 中从对象转换为字符串

cannot convert from object to string in C#

我不确定如何处理我遇到的这个错误: "cannot convert from object to string"

row["timeinseconds"] = TimeSpan.FromSeconds( double.Parse( r["timeinseconds"] ) ).ToString(@"hh\:mm\:ss");

timeinseconds 来自 sqlite 数据库并存储为整数值

我需要将它解析为 double,这样我就可以使用时间跨度的 from seconds 方法,这样我就可以将它转换为正确的格式

private void updateDgvTimesheet()
{
    dgvTimesheet.Rows.Clear();

    foreach (DataRow r in dataset.Tables[0].Rows)
    {
        DataRow row = this.dataset.Tables[0].NewRow();

        row["taskname"] = r["taskname"];

        row["timeinseconds"] = TimeSpan.FromSeconds( double.Parse( r["timeinseconds"] ) ).ToString(@"hh\:mm\:ss");
        row["date"] = r["date"];
        row["paid"] = r["paid"];

        dgvTimesheet.Rows.Add(row);
    }
}

你必须转换r["timeinseconds"].ToString()

将您的函数更改为:

private void updateDgvTimesheet()
{
    dgvTimesheet.Rows.Clear();

    foreach (DataRow r in dataset.Tables[0].Rows)
    {
        DataRow row = this.dataset.Tables[0].NewRow();

        row["taskname"] = r["taskname"];

        row["timeinseconds"] = TimeSpan.FromSeconds( double.Parse( r["timeinseconds"].ToString() ) ).ToString(@"hh\:mm\:ss");
        row["date"] = r["date"];
        row["paid"] = r["paid"];

        dgvTimesheet.Rows.Add(row);
    }
}