string ChildId(int classid)
    {
        string sql, arrid;
        arrid = "0";
        if (classid == 0)
        {
            sql = "select classid from web_Proclass order by rootid,orderid";
        }
        else
        {
            sql = "select classid from web_Proclass where parentpath like '%," + classid + "' or parentpaht like '%" + classid + "%' or classid=" + classid + "";
        }
        OleDbConnection conn = Conn.CreateDB();
        OleDbCommand cmd = new OleDbCommand(sql, conn);
        conn.Open();
        OleDbDataReader Reader = cmd.ExecuteReader();
        while (Reader.Read())
        {
            arrid = arrid + "," + Reader[0].ToString();
        }
        conn.Close();
        return arrid;    }
大家帮我看看这段代码有什么问题。
错误是:
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OleDb.OleDbException: 至少一个参数没有被指定值。源错误: 
行 185:        OleDbCommand cmd = new OleDbCommand(sql, conn);
行 186:        conn.Open();
行 187:        OleDbDataReader Reader = cmd.ExecuteReader();
行 188:        while (Reader.Read())
行 189:        {
 

解决方案 »

  1.   

    你的sql语句呢?执行的方式不对,,,换个写法,要么就是执行的顺序要么就是语法错误.
      

  2.   

    那里不对了.sql语句不是有啊.我也知道有这些问题啊.我现在是想那里有问题,帮我看看.
      

  3.   

    用Response.Write看看哪里没有值!!??查到就很好解决了!楼主试试!
      

  4.   

    行 185:        OleDbCommand cmd = new OleDbCommand(sql, conn); 
    行 186:        conn.Open(); 
    换成
    行 186:        conn.Open(); 
    行 185:        OleDbCommand cmd = new OleDbCommand(sql, conn); 
    试试看
      

  5.   

    cmd.Type=CommandType.Text;加上这句测试下