日期:2014-05-17  浏览次数:20798 次

如何获取OleDbDataReader dr 中某一列的数据内容
操作Access数据库时,怎样可以读到OleDbDataReader dr里的某一列的值(我这里是要读第6列,总共有8列)),我试过用dr[列标],dr["列名"]方法等,都不行,GetBoolean方法也不行,报同一个错:“不存在该列/行的内容”,可是我数据库里是有内容的,dr.HasRows为true,怎么回事?
还往高手指导!
代码如下:
  OleDbDataReader dr = DataClass1.getreader("select * from tab_label where PanelSN ='" + PanelSn.ToUpper().Trim() + "'");
  if (dr.HasRows)
  {  
  //string IsValid = string.Empty;
  //IsValid = dr[6].ToString();
  //IsValid = dr["IfValid"].ToString();
  bool IsValid = true;
  IsValid = dr.GetBoolean(6);
   
  MessageBox.Show("此序列号重复!", "错误:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  return;
  }
谢谢了!


------解决方案--------------------
改成这样就可以了。 

 OleDbDataReader dr = DataClass1.getreader("select * from tab_label where PanelSN ='" + PanelSn.ToUpper().Trim() + "'");
while(dr.Read())//注意这里要读取下一行数据
{
//string IsValid = string.Empty;
//IsValid = dr[6].ToString();
//IsValid = dr["IfValid"].ToString();
bool IsValid = true;
IsValid = dr.GetBoolean(6);

MessageBox.Show("此序列号重复!", "错误:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}