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
显示记录。
答案 0 :(得分:0)
如果我正确理解您的问题,您需要使用名称" dsd"将listview控件与所有产品绑定。
如果这是正确的,您可以像这样更改SQL查询: SELECT * FROM Products WHERE ProductName =' dsd'
您可以从DataReader读取响应并准备List以绑定到listview控件。我认为你不需要DataSet绑定到listview控件。
答案 1 :(得分:-1)
您需要两个连接对象。一个用于打开数据读取器,另一个用于SqlDataAdapter。
(或者您可以使用MARS,但实际上只需打开第二个连接就好了。)