我使用的是mysql数据库,在c#中用OdbcDataReader建了一个myReader的对象,然后执行的myReader.getString(myReader.getOrdinal("s_route"));s_route是我数据库里的一个列名,为什么它抛出了一个找不到列名的异常呢?请大侠指教一下,感激不尽

解决方案 »

  1.   

    你的列包含在select语句了吗?列名是否拼错?如果行不是太多,建议用OdbcDataAdapter把数据Fill到DataTable中,这样你可以看到有哪些列,列名是什么,
      

  2.   

    myReader["s_route"].ToString();
    确定s_route确实存在,sql语句是否包含了s_route,或者把列名as了
      

  3.   

    我的select语句是select s_route from scenery where concat(s_name,s_route) like %str1%str2%      其中str1赋值的是崂山,str2赋值的是乘车路线,select语句应该没问题我在SQLyog里面操作过可以查出来的,但是在C#里就是抛出了哪个异常
      

  4.   

    你只有一个字段,所以也可以用0访问,这样试试看,
    myReader[0].ToString();最好还是用OdbcDataAdapter把数据Fill到DataTable中,然后你可以列举出DataTable.Columns看看列名是什么,