protected string bd(string str)
    {
        string sql = " select _imageurl from proimage where _imageid='" + str + "'";
        DataTable db = DbHelperSQL.Query(sql).Tables[0];
        return db.Rows[0]["_imageurl"].ToString();
    }
中的 return db.Rows[0]["_imageurl"].ToString();
提示“在位置 0 处没有任何行”
可是数据库中有写了_imageurl项的内容,那是哪里出错了

解决方案 »

  1.   

    try catch 一下 然后调试  看看db中有没有值
      

  2.   

    你确定查到记录了吗?把你的string sql生成的查询语句复制出来放在查询分析器里运行一下。
      

  3.   

    建议这样写:
    string sql = string.format(" select _imageurl from proimage where _imageid='{0}'",str);在返回的时候做一下判断
    if(db != null && db.rows.count > 0)
    {
    return db.Rows[0]["_imageurl"].ToString();
    }
      

  4.   

    能力太差,try catch、断电调试都不会,能不能简单地帮我分析一下
      

  5.   

    看样子楼主是接触VS没多久吧,连起码的调试都不会,建议先看看基础的东西当光标在这句时,按F9,DataTable db = DbHelperSQL.Query(sql).Tables[0];
    然后运行,就会跳到这行,当这行为黄色时,鼠标右键点击db,然后选择监视,然后可以看到db是否有数据
      

  6.   

    补充一下,当断点行为黄色时,按F10,再鼠标右键点击db,然后选择监视,然后可以看到db是否有数据
      

  7.   

    如果是这个问题的话可以确定的告诉你是你查询语句没有返回记录
    也就是这个查询满足条件的一条记录都没有,所以在ROWS[0]这里报错了
      

  8.   

    protected string bd(string str)
      {
      string sql = " select _imageurl from proimage where _imageid='" + str + "'";
      DataTable db = DbHelperSQL.Query(sql).Tables[0];
      return db.Rows[0]["_imageurl"].ToString();
    //这里的db.Rows[0]["_imageurl"]没见过。。你换成数字试试?
      }
      

  9.   

    这是个经典的入门问题........这表示
    string sql = " select _imageurl from proimage where _imageid='" + str + "'";
    这行SQL语句没有查询出任何东西.
      

  10.   

    一般在用对象的时候都要判断对象是否为空.楼主问题可以加一句判断就可以if( dt != null && dt.rows.cout > 0)
    {
       ....
    }
      

  11.   

    select _imageurl from proimage where _imageid='" + str + "'  sql语句拿到查询分析器下执行以下,应该是sql语句查出来没结果
      

  12.   

    可以确定搜索出来的记录中此字段无值,先判断下是否为空在做tostring处理
      

  13.   


    两点要说:1.使用参数化查询,防止sql注入。如果这个方法的参数不是用户输入的,也可以不用参数化,但是不推荐。
    2._imageid在数据库中是varchar么?如果是char的话要确保空格被Trim掉,数据库中存储的要Trim,str这个参数也要Trim。如果_imageid是int,去掉sql语句中的单引号。
      

  14.   

    这个不就是WHERE里面的str没有符合的么,怎么弄得这么复杂呵呵
      

  15.   

    DataTable 你没有定义列的属性。什么都没定义,计算机怎么知道你查询出来的东西放哪里...