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

用sqldatareader遍历数据库中符合条件的数据遇到了一点麻烦
我想遍历“标号”这一列数值为1的数据,然后将它们在listview中显示出来,可是“标号”这一栏的数据类型是nchar,而sqldatareader只能有ToString的格式转化,我该怎么加个判断语句呢?附加上我此部分的代码
[code=C#][ else if (this.treeView1.SelectedNode.Name == "一号充电架")
  {
  listView2.Items.Clear();
  SqlConnection con = new SqlConnection("Server=VHEIZ0H2ZTHFJCD;uid=sa;pwd=4217633;Database=master;");
  String st = "select * from Table_Light";
  SqlCommand cmd = new SqlCommand(st, con);
  //SqlDataAdapter sda = new SqlDataAdapter(st, con);
  //DataSet dsPubs = new DataSet();
  con.Open();
  SqlDataReader dr1 = cmd.ExecuteReader();
  //使用reader方法遍历数据

  while (dr1.Read())
  {
   
  ListViewItem item = new ListViewItem();
  item.SubItems[0].Text = dr1["矿灯标号"].ToString();
  item.SubItems.Add(dr1["状态"].ToString());
  // item.SubItems.Add(dr1["充电架标号"].ToString());
  //item.SubItems.Add(dr["状态"].ToString());

  listView2.Items.Add(item);

  // listView1.Items[listView1.Items.Count-1].EnsureVisible();//这句保证滚动条始终在最下方
   
  }

  }]

------解决方案--------------------
String st = "select * from Table_Light WHERE 标号=1";