声明一个类
    public class OleDbDataBase   
    { 
        private string ConnString;        public string strConn   //数据库连接连接字符串(属性)
        {
            set
            {
                ConnString = value;
            }
            get
            {
                return ConnString;
            }
        }
        #endregion        #region 输入SQL,返回DataSet
        public DataSet GetDataSet(string strSelectSQL)
        {
            try
            {
                OleDbConnection Conn = new OleDbConnection(ConnString);
                OleDbCommand SelCommand = new OleDbCommand(strSelectSQL,Conn);
                OleDbDataAdapter  objDataAdapter = new OleDbDataAdapter();
                DataSet SelDataSet = new DataSet();                objDataAdapter.SelectCommand = SelCommand;
                objDataAdapter.Fill(SelDataSet);                return SelDataSet;
            }
            catch
            {
                DataSet aa = new DataSet();
                return aa;
            }
        }
        #endregion         
    }我的问题:
    当方法GetDataSet调用之前必须先给类的strConn属性赋值,如果没赋值就提示错误。这个该怎么处理。我暂时只能处理成当报错返回一个空的DataSet,没有具体错误信息,没办法做页面调试的提示。因为这里的出错可能两中情况,一个是strConn赋值错误,一个是strSelectSQL查询语句。我的目的:
    针对不同错误,在调用页面抛出错误信息。例如当strConn错误时,提示用户“连接串为空或无效值”,当strSelectSQL错误时"查询语句出错“。怎么解决?翻了好几本书了,都没找到

解决方案 »

  1.   

    1:连接字符串一般放在web.config里面,你要做的是读取。
    2:  public DataSet GetDataSet(string strSelectSQL)
    {          if(strSelectSQL = "")
                 return null;
         .............
      
    }
      

  2.   

    if ( !condition )
                {
                    //Assert and throw if the condition is not met
                    String detailMessage;
                    GenerateStackTrace(lineNumber, out detailMessage);
                    Debug.Fail(errorText, detailMessage);
            
                    throw new ApplicationException(errorText);
                
                }
      

  3.   

    brightheroes(闭关|那一剑的风情) :
        1。连接串是读取没错,但我想做个比较通用的类,杜绝在web.config里就是错误的情况,至少我在调用这个类的时候能够提示,连接串错了
        2。对于你的第二种,只能判断为空,没办法提示strSelectSQL错误了
     yly19730201(yly) :
    catch 加一个,我怎么知道怎么抛出呢
     
    可能我说的不太详细
        就是说如果这些代码放在一个page页面的cs里面运行,如果没有try语句过滤错误,则运行时的错误就会在页面提示出来。我就是希望捕捉这个错误信息在页面上显示,但是在类里面是没办法用Response.Write 这种方法输出错误,而我的GetDataSet方法返回值就是一个 DataSet型,不是字符串型。
      

  4.   

    debug调试
    命名空间是using System.Diagnostics;
      

  5.   

    HttpContext.Current.Response.Write("aa");
    可以用啊.
    另外应该加catch
    throw(new Exception("***" , e)) ;
    这样你在前台也可以输出错误
      

  6.   

    wangrenda(浪人) :
    搞清楚了一点点,谢谢
    但我怎么抛出我在类里面发生的错误呢
      

  7.   

    throw new Exception("错误!请与管理员联系");
      

  8.   

    谢谢大家帮忙,感谢浪人,搞定了
    try
    {}
    catch(Exception e)
    {
        HttpContext.Current.Response.Write(e.Message);
        return null;
    }