后台的代码 
断点设置在这一行 string sql = "select * from tb_Video where VideoID=" + Convert.ToInt32(Request.QueryString["VideoID"]); 
OleDbDataReader odr = mydo.row(sql); 
odr.Read(); 
VUrl = "../Video" + "\\" + odr["VideoUrl"].ToString(); 
运行后老是出现不存在此行/列的数据。 
设置断点调试异常: sql "select * from tb_Video where VideoID=0" string 
我已经通过另外一个页面添加了一条数据进去可是取不了值.这是为什么?? 
如果改成这样 
断点设置在这一行  string sql = "select * from tb_Video where VideoID"; 
- base {InnerText = “((System.Web.UI.HtmlControls.HtmlContainerControl) 
(((System.Web.UI.HtmlControls.HtmlGenericControl)(((System.Web.UI.Page)(this)).Header)))).InnerText”引发了“System.Web.HttpException”类型的异常} System.Web.UI.Control {System.Web.UI.HtmlControls.HtmlHead} 

解决方案 »

  1.   

    报告这个错误100%是粗心大意造成的. 因为你Request.QueryString["VideoID"] 为null 
    Convert.ToInt32(Request.QueryString["VideoID"]) 就变成0 
    执行 "select * from tb_Video where VideoID=0" 根本查询不到数据. 然后你就直接调用.当然错误啦.
      

  2.   

    if(odr.Read())
    {
    VUrl = "../Video/" + odr["VideoUrl"].ToString();
    }确保字段 VideoUrl 没有写错并且存在
      

  3.   

    VUrl = "../Video" + "\\" + odr["VideoUrl"].ToString(); 
    问题所在哦~细心检查一下~
    膜拜孟大大~~
      

  4.   

    之前描述有点乱重新说一下吧: 
    数据库中“VideoID”字段是自动编号  VideoID记录是 1 这个表中只有一条记录(这条记录是我通过其他页面添加的) 
    代码: string sql = "select * from tb_Video where VideoID=" + Convert.ToInt32(Request.QueryString["VideoID"]); 
        OleDbDataReader odr = mydo.row(sql); (在此处插入断点) 
          odr.Read(); 
        VUrl = "../Video" + "\\" + odr["VideoUrl"].ToString(); () 这是调试后台代码时自动窗口出现的提示: 
    Request.QueryString["VideoID"] null string 
    mydo {dataOperate} dataOperate 
    odr null System.Data.OleDb.OleDbDataReader                  
    sql "select * from tb_Video where VideoID=0" string yfqvip说的我试了 数据库也重建了 还是有报错 
    孟老师:说的 字段 VideoUrl 数据库中确实存在也没有写错. 
    望赐教!!!