来自SQL Server的Serie

时间:2013-11-22 06:20:34

标签: c# sql-server dotnethighcharts

我正在尝试将SQL Server数据库中特定列的值存储到List<Serie>

我正在使用dotNet Highcharts。

以下是我的代码。它有一些问题。

using (SqlConnection cnn = new SqlConnection("Data Source=INBDQ2WK2LBCD2S\\SQLEXPRESS;Initial Catalog=MCAS;Integrated Security=SSPI"))
{
    SqlDataAdapter da = new SqlDataAdapter("select top(100) x from Table4 order by Id desc", cnn);
    DataSet ds = new DataSet();
    da.Fill(ds, "Table4");

    List<Serie> xValues = new List<Serie>();

    foreach (DataRow row in ds.Tables["Table4"].Rows)
    {
        xValues.Add(row["x"].ToString());
    }
}

2 个答案:

答案 0 :(得分:1)

检索数据的代码非常好。但是,将它添加到列表时会出错。

您希望将数据存储在List<Serie>中。现在我们不知道对象Serie的类型,也不知道它具有什么属性。但是你尝试在列表中添加一个字符串。

有两种方法可以解决这个问题:

将列表类型更改为List<String> xValues = new List<String>();

xValues.Add()行更改为添加Serie类型有效对象的内容。

//you need to check Serie constructors to see which properties need to passed.
xValues.Add(new Serie(row["x"]));

答案 1 :(得分:0)

我认为您在访问数据库数据之前打开连接,在访问数据之后关闭。

using (SqlConnection cnn = new SqlConnection("Data Source=INBDQ2WK2LBCD2S\\SQLEXPRESS;Initial Catalog=MCAS;Integrated Security=SSPI"))
{
    cnn.Open();
    SqlDataAdapter da = new SqlDataAdapter("select top(100) x from Table4 order by Id desc", cnn);
    DataSet ds = new DataSet();
    da.Fill(ds, "Table4");
    cnn.Close();
    List<String> xValues = new List<String>();

    foreach (DataRow row in ds.Tables["Table4"].Rows)
    {
        xValues.Add(row["x"].ToString());
    }
}