后台的代码 
断点设置在这一行 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.   

    你用一个int型的变量先取到Request.QueryString["VideoID"]的值,并设置断点确定有值,0也是值,只是你的数据库中没有VideoID为0的值而已,还要注意的是页面在响应你的操作的时候会从上往下执行页面类中的成员,包括Form_Load()中的代码,这时可能把你赋了值的变量的值清空掉,如果你不想发生这样的情况,那你就要用if (!Ispostback){}来将那些赋值的操作括起来,这只是针对Form_Load()中的变量。
      

  2.   

    LS是一个办法,确认一下SQL语句是否完整先
      

  3.   

    断点设置在这一行 
    string sql = "select * from tb_Video where VideoID=" + Convert.ToInt32(Request.QueryString["VideoID"]); 
    OleDbDataReader odr = mydo.row(sql); 
    if(odr.Read())//加上这个判断
    {
    VUrl = "../Video" + "\\" + odr["VideoUrl"].ToString(); 
    }
    完全有可能没有符合条件的记录,那么按照这种方式先判断一下是否存在相关记录,存在就读取,不存在就不读取.
      

  4.   

    asp.net夜话之八:数据绑定控件
    在asp.net中所有的数据库绑定控件都是从BaseDataBoundControl这个抽象类派生的,这个抽象类定义了几个重要属性和一个重要方法:DataSource属性:指定数据绑定控件的数据来源,显示的时候程序将会从这个数据源中获取数据并显示。DataSourceID属性:指定数据绑定控件的数据源控件的ID, 显示的时候程序将会根据这个ID找到相应的数据源控件,并利用这个数据源控件中指定方法获取数据并显示。DataBind()方法:当指定了数据绑定控件的DataSource属性或者DataSourceID属性之后,再调用DataBind()方法才会显示绑定的数据。并且在使用数据源时,会首先尝试使用DataSourceID属性标识的数据源,如果没有设置DataSourceID时才会用到DataSource属性标识的数据源。也就是说DataSource和DataSourceID两个属性不能同时使用。数据绑定控件的DataSource控件属性必须是一个可以枚举的数据源,如实现了ICollection、IEnumerable或IListSource接口的类的实例。asp.net夜话之七:ADO.NET介绍
    ADO.NET是对Microsoft ActiveX Data Objects (ADO)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。以前做数据库访问的时候,需要一直与数据库保持连接,直到获取完所有满足需要的数据之后才会断开数据库连接,这种数据库访问方式称之为连接式数据访问技术。相比于以前的连接式数据访问技术,ADO.NET除了提供连接式数据访问技术之外,还提供了另一种断开式解决方案,那就是在内存中模拟一个数据库,也就是内存中的数据库。我们知道在实际的数据库技术中,每个数据库就是一个业务逻辑单元,一般来说这个数据库包含了实现一个应用软件或者一个网站所需要的全部数据。