读取数据时出现SQL错误

时间:2016-05-04 08:28:18

标签: sql asp.net sql-server

SqlCommand cmd = new SqlCommand("SELECT * FROM Products",con);
SqlDataReader reader = cmd.ExecuteReader();

while (reader.Read())
{
    if (reader["ProductName"].ToString() == "dsd")
    {
        SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Products", con);
        DataSet ds = new DataSet();
        da.Fill(ds);

        ListView1.DataSource = ds;
        ListView1.DataBind();
    }
}

reader.Close();

错误:

  

已经是一个与此命令关联的开放DataReader,必须先关闭

我在这一行da.fill(ds)收到错误。我使用两个命令SqlCommand来读取记录,第二个SqlDataAdapter显示记录。

2 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您需要使用名称" dsd"将listview控件与所有产品绑定。

如果这是正确的,您可以像这样更改SQL查询:     SELECT * FROM Products WHERE ProductName =' dsd'

您可以从DataReader读取响应并准备List以绑定到listview控件。我认为你不需要DataSet绑定到listview控件。

答案 1 :(得分:-1)

您需要两个连接对象。一个用于打开数据读取器,另一个用于SqlDataAdapter。

(或者您可以使用MARS,但实际上只需打开第二个连接就好了。)