要用单引号吧
 Sql = "select * from Forum_Board where Forum_Class_Id='" + ClassId.Text + "' and Isdel=0 and Forum_Board_Hidden=0"; 

解决方案 »

  1.   

    把" + ClassId.Text + "写在单引号之间
      

  2.   

    把红色的地方 打个断点  然后调试   把那段SQL语句复制下来  到SQL查询分析器上试一下  看是不是SQL语句的错,要不然就是其他的放的错
      

  3.   

    應該是
                Label ClassId = (Label)dlfclist.Items[i].FindControl("ClassId"); 這個有問題。“未将对象引用设置到对象的实例”就是對象沒有實例化你就調用它,所以在你的sql地方就報錯,應為你調用了ClassId.Text你斷點看看ClassId應該是null;當然你的sql語句也有問題,就如1樓的
      

  4.   


    这个错误就是没有,然后你引用了
    比如dt.Rows.Count = 0;
    但是你用了dt.Rows[1]   Label ClassId = (Label)dlfclist.Items[i].FindControl("ClassId"); 
    这个地方往下的你调试下
    看什么地方出错了
      

  5.   

     result.Close();  
    result已经被关闭了吧?未将对象引用设置到对象的实例  这个异常就是某个对象出来了null值  可能就是这个result
      

  6.   

    未将对象引用设置到对象的实例,是传了个 null的东西
      

  7.   

    应该是没加单引号的问题:sql查询语句中日期和字符串要加单引号的
      

  8.   

    DataGrid dgfblist中需要绑定的项跟查询语句“select * from Forum_Board”查询出来的字段没有完全匹配Sql = "select * from Forum_Board where Forum_Class_Id=" + ClassId.Text + " and Isdel=0 and Forum_Board_Hidden=0";
    dgfblist.DataBind(); 
      

  9.   


    Sql = "select * from Forum_Board where Forum_Class_Id="   ' + ClassId.Text + ' " and Isdel=0 and Forum_Board_Hidden=0";如果你的Forum_Class_Id不是字符串是int
     那你在执行之前将ClassId转下型.
        
    int Classid=int.Parse(ClassId.text);
    Sql = "select * from Forum_Board where Forum_Class_Id="+Classid+" and Isdel=0 and Forum_Board_Hidden=0";看看可以不
      

  10.   

    是SQL语句的错应该不是报 "未将对象引用设置到对象的实例" 的错误
      

  11.   

    你的datalist中的控件应该访问不到吧!
     你的for (int i = 0; i < dlfclist.Items.Count; i++) 可能要放到datalist的itemdatabound事件中。
    你可以试试这个:
    foreach(DataListItem item in dlfclist.Items),或去网上找找方法
      

  12.   

    在for循环中加个判断
    判断这一行的rowIndex是不是不等于 -1
    即要判断它是数据行
    才可以获得到Label
      

  13.   

    说明你在程序中从数据库获取到的数据值为null
      

  14.   

    label控件是否存在。调试看看Sql 语句是否正确。