0

我正在尝试将 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());
    }
}
4

2 回答 2

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"]));
于 2014-01-27T09:02:20.653 回答
0

I think you to open connection before accessing DB data and closed after access data.

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());
    }
}
于 2013-11-22T10:02:50.063 回答