首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

vs2012中使用DataReader读取sql server数据时出现错误

2013-01-02 
vs2012中使用DataReader读取sql server数据时出现异常vs2012中使用DataReader读取sql server数据时出现异

vs2012中使用DataReader读取sql server数据时出现异常
        vs2012中使用DataReader读取sql server数据时出现异常,无法读取。
        因为要使用sql表中的数据看是否匹配已有数据,要把数据库的char类型转换为string类型,同时使用RTRIM将char的末尾空格去掉。C#写入sql的语句是string sql = "Select RTRIM(房间号),账单编码 from 客房入住登记表";当执行到string Fnum = textBox1.Text.Trim();
                  while (dataReader.Read()){
                      if(Fnum==(string)dataReader["房间号"])
                      账单编码.Text = (string)dataReader["房间号"];}
时出现异常“System.IndexOutOfRangeException”类型的异常object {System.IndexOutOfRangeException}。
        如果在sql语句中不使用RTRIM语句则不会出现异常,但因为char转换成string时末尾的几个空格导致if条件无法满足。这个问题该如何解决呢?

[解决办法]


string sql = "Select RTRIM(房间号) 房间号,账单编码 from 客房入住登记表";

[解决办法]
必须为RTRIM(房间号)取名称
Select RTRIM(房间号) 房间号,账单编码 from 客房入住登记表
否则DataReader结构中没有房间号这一列,会抛出超出索引界异常

热点排行