在加粗部分代码中,每次获得的dt对象都是null,但是sql语句的确是可以运行的,在vs2005中sql语句测试器中试过,我不明白是什么原因,请大家帮忙了
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class serch : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            getbigbind();
        }
        
    }
    protected void getbigbind()
        {
           string sql="select BigClassName from BigClass";
           DataTable dv = dbfun.getdbtable(sql);
           for (int i=0; i < dv.Rows.Count;i++ )
           {
               biglist.Items.Add(dv.Rows[i]["BigClassName"].ToString());
           }
       
        }
    protected void biglist_SelectedIndexChanged(object sender, EventArgs e)
    {
      
        string selbig = biglist.SelectedValue;        string sqls = "SELECT SmallClassName FROM SmallClass WHERE (BigClassName = '" + selbig + "')";
        DataTable dt = dbfun.getdbtable(sqls);
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            smalllist.Items.Add(dt.Rows[i]["SmallClassName"].ToString());
        }
    }
}
[/b]

解决方案 »

  1.   

    getdbtable进里面调试一下里面错了,否则不会为null
      

  2.   

    getbigbind中DataTable dv = dbfun.getdbtable(sql);
    biglist_SelectedIndexChanged中DataTable dt = dbfun.getdbtable(sqls);
    你这个dbfun.getdbtable到底返回个什么东东?
      

  3.   

    你说你,DataTable 整个dv,好像是DataView似的.....
      

  4.   

    你跟踪到函数体内看下啊,如果dbfun.getdbtable返回的就是NULL,那很明显你的SQL执行函数有问题
      

  5.   

     string sql="select BigClassName from BigClass"; 
              DataTable dv = dbfun.getdbtable(sql); 
    这里能通过,那就说明你下面方法中sql语句有问题
      

  6.   

       string selbig = biglist.SelectedValue;         string sqls = "SELECT SmallClassName FROM SmallClass WHERE (BigClassName = '" + selbig + "')"; 
    1:看一下selbig是否有值
    2:bigclassName数据库字段类型,如果是数值型,不要加单引号
      

  7.   

    string selbig = biglist.SelectedValue; 
    无值是很大可能性或是带有非法字符。执行出错,但没有抛出导常!
      

  8.   

    是否dbfun.getdbtable方法问题
    string sqls = "SELECT SmallClassName FROM SmallClass WHERE (BigClassName = '" + selbig + "')"; 
    调试看看sql语句