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

关于在C#中将char型转换为string型的问题
代码如下
 while (reader.Read())
  {
  string aa = System.Convert.ToString(reader.GetChar(0));
  if (aa == this.TextBox1.Text)
  {
  this.Label2.Text = "产品编号为" + Convert.ToString(reader.GetChar(0)) + "的货物,名称为"+ Convert.ToString(reader.GetChar(1)) + ",货物数量为" + Convert.ToString(reader.GetInt16(2));
  flag = 1;
  return;
  }
  }
我的目的就是通过reader.Read方法遍历数据库中的数据(该数据为nchar(10)类型,第一列),将之与传递进来的textbox.text比较,textbox.text显然是string类型,这就要类型转化对吧,问题是我这么转换运行出的web提示我:string aa = System.Convert.ToString(reader.GetChar(0))这行不支持所指定的方法。
另外,将convert.tostring方法改为直接在后面加上to.string()方法还是一样,web显示不支持所指定的方法,另外,把System去掉也一样

------解决方案--------------------
string aa = System.Convert.ToString(reader.GetChar(0));
改成
var tmp = reader.GetChar(0);
string aa = tmp.ToString();
可以看得更清楚,到底是哪个方法不支持。
------解决方案--------------------
string aa =reader[0]==null?"":read[0].ToString();
------解决方案--------------------


 string aa =(reader[0] is System.DBNull)?"":read[0].ToString();