行 53: this.sj.Text=Convert.ToString(myReader.GetInt32(6)); 行 54: this.ddnr.Text=myReader.GetString(7); 行 55: this.dates.Text=Convert.ToString(myReader.GetData(8)); 行 56: } 行 57: else
可能获得了一个DBNull,DBNull是一种特殊数据类型。先使用Convert.IsDbNull(object)检查,再进行转换
具体代码能写下吗?IsDbnull的用法不太懂
if(Convert.IsDbNull(myReader.GetData(8))){ //Do Somthing when DbNull}else{ this.dates.Text = Convert.ToString(myReader.GetData(8));}
if(myReader.GetData(8)!=null){ this.dates.Text = Convert.ToString(myReader.GetData(8));}
不可以,DBNull和Null是两个概念,不能使用myReader.GetData(8)!=null这样的判断。如果持续这样的问题,那么检查一下mr.GetData(8)到底获得了什么东西,用Debug调试加断点,检查mr.GetData(8)的值