日期:2014-05-18  浏览次数:21314 次

commandText属性尚未初始化
窗体中有两个listview控件 当点击listview2中的某条记录时,listview1中就显示出相应的记录,可以,系统总提示我commandText属性尚未初始化,请问这是什么原因啊?! 代码如下: 请问代码有问题吗?! 谢谢!


private void Xflist()
  {
   

  for (int i = 0; i < this.listView2.Items.Count; i++)
  {
   
  if (this.listView2.Items[i].Selected == true)
  {
   
  this.selectStr1 = "SELECT * FROM Xfxm WHERE Ctid='" + this.listView2.Items[i].SubItems[0].Text.ToString() + "'";
  this.sqlCommand1.CommandText = this.selectStr1;

  }
   
  break;
  }

   
   
  try
  {
  this.sqlCommand1.CommandText = null;  
  if (this.sqlConnection1.State == ConnectionState.Closed) this.sqlConnection1.Open(); //如果connection1关闭就打开
  this.SqlDataReader1=this.sqlCommand1.ExecuteReader(); //用sqldatareadrer来读取数据库中的内容
  while (this.SqlDataReader1.Read())
  {
  ListViewItem li = new ListViewItem();//生成新的listview的item
  li.SubItems.Clear();//消除所有列的内容
  li.SubItems[0].Text = SqlDataReader1["Ctid"].ToString();//给新记录第1列添加餐台号内容
  li.SubItems.Add(SqlDataReader1["Xfitem"].ToString());
  li.SubItems.Add(SqlDataReader1["Dj"].ToString());//给新记录第2列添加单价
  li.SubItems.Add(SqlDataReader1["Dzbl"].ToString());//给新记录第3添加单价
  li.SubItems.Add(SqlDataReader1["Sl"].ToString());//给新记录第4列添加数量
  li.SubItems.Add(SqlDataReader1["Money"].ToString());
  li.SubItems.Add(SqlDataReader1["FUs"].ToString());
  li.SubItems.Add(SqlDataReader1["Bz"].ToString());
  this.listView1.Items.Add(li);//把新记录添加到listview1中去

  }
  }

  catch (System.Exception E)
  {
  MessageBox.Show(E.ToString());
  }
  finally
  {

  this.sqlConnection1.Close();
  }


------解决方案--------------------
try 

this.sqlCommand1.CommandText = null; 这是null了
if (this.sqlConnection1.State == ConnectionState.Closed) this.sqlConnection1.Open(); //如果connection1关闭就打开 
this.SqlDataReader1=this.sqlCommand1.ExecuteReader(); //用sqldatareadrer来读取数据库中的内容 
while (this.SqlDataReader1.Read()) 

ListViewItem li = new ListViewItem();//生成新的listview的item 
li.SubItems.Clear();//消除所有列的内容 
li.SubItems[0].Text = SqlDataReader1["Ctid"].ToString();//给新记录第1列添加餐台号内容