三层架构中的问题,郁闷ing......
没用三层架构的时候可用,用了三层结构,出错了,很可能是调用的问题。希望多多来顶!
E:\ASP.NET\WebSite22\top.aspx.cs(30,31): 错误 CS0122: “OA.DA.CatalogsDB”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\top.aspx.cs(30,27): 错误 CS0143: 类型“OA.DA.CatalogsDB”未定义构造函数
E:\ASP.NET\WebSite22\top.aspx.cs(39,31): 错误 CS0122: “OA.DA.CatalogsDB”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\top.aspx.cs(39,27): 错误 CS0143: 类型“OA.DA.CatalogsDB”未定义构造函数
E:\ASP.NET\WebSite22\DepNew.aspx.cs(34,9): 错误 CS0122: “OA.DA.DepInfo”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\DepNew.aspx.cs(34,38): 错误 CS0122: “OA.DA.DepInfo”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\DepNew.aspx.cs(34,34): 错误 CS0143: 类型“OA.DA.DepInfo”未定义构造函数
E:\ASP.NET\WebSite22\DepNew.aspx.cs(35,24): 错误 CS0117: “OA.DA.DepInfo”并不包含“Insert_DepInfo”的定义
E:\ASP.NET\WebSite22\login.aspx.cs(25,9): 错误 CS0122: “OA.DA.EmpDB”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\login.aspx.cs(25,31): 错误 CS0122: “OA.DA.EmpDB”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\login.aspx.cs(25,27): 错误 CS0143: 类型“OA.DA.EmpDB”未定义构造函数
E:\ASP.NET\WebSite22\login.aspx.cs(33,43): 错误 CS0117: “OA.DA.EmpDB”并不包含“Login”的定义
E:\ASP.NET\WebSite22\login.aspx.cs(41,13): 错误 CS0122: “OA.DA.DbManagerLogininfo”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\login.aspx.cs(41,53): 错误 CS0122: “OA.DA.DbManagerLogininfo”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\login.aspx.cs(41,49): 错误 CS0143: 类型“OA.DA.DbManagerLogininfo”未定义构造函数
E:\ASP.NET\WebSite22\login.aspx.cs(42,28): 错误 CS0117: “OA.DA.DbManagerLogininfo”并不包含“insertLoginUser”的定义
E:\ASP.NET\WebSite22\login.aspx.cs(58,13): 错误 CS0122: “OA.DA.DbManagerLogininfo”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\login.aspx.cs(58,51): 错误 CS0122: “OA.DA.DbManagerLogininfo”不可访问,因为它受保护级别限制
E:\ASP.NET\WebSite22\login.aspx.cs(58,47): 错误 CS0143: 类型“OA.DA.DbManagerLogininfo”未定义构造函数
E:\ASP.NET\WebSite22\login.aspx.cs(59,28): 错误 CS0117: “OA.DA.DbManagerLogininfo”并不包含“insertLoginUser”的定义
E:\ASP.NET\WebSite22\UserLog.aspx.cs(79,9): 错误 CS0122: “OA.DA.DbManagerLogininfo”不可访问,因为它受保护级别限制

解决方案 »

  1.   

    走过错过千万不要路过 原价100元的衬衫,现价只要两百五 ---lz sb
      

  2.   

    public private protect你看看去吧。
      

  3.   

    不是吧,要我自救,哈哈!
      这个题目够吸引人吧,希望有识之士能帮忙顶!
      我觉得应该是调用层的时候有问题!
      这是一个页面的后台代码,能这样引入其它两个层的命名空间吗?
      using OA.Common;
    using OA.DA;
    public partial class WEB_UserLog : OA.Webs.PageBase
    {
      

  4.   

    老大,绝对不是这么简单的问题,我设为public了
       我说过了,我不放在三层结构中,这些类都是可以访问的
      

  5.   

    都是用public,谢谢大家来顶,我再重申一次!
       就是调用了,就不行了
       而且数据层没有错误,错误发生在生成的网站中
      

  6.   

    如果你在UI层需要直接调DAO层 那么只有一个可能 就是你想偷懒不做businessLogic层的封装。
      

  7.   

    那些类我都检查了,都是public的,大家放心,就是搞不懂啊
      我做得比较简单,就没有要BLL,新手嘛!
      

  8.   

    大哥们你们好 我是刚来灌水的小菜鸟 4月20号才注册的 我想发贴问一个关于Javascript的问题 但是找了半天了 不知道在哪可以发贴 9命啊  快郁闷死了
      

  9.   

    Do_IT_Best()  对你的感觉只能用爱来形容~ 你小子肯定是东北的
      

  10.   


    表示层里面一个.aspx.cs
    using OA.Common;
    using OA.DA;public partial class WEB_DepInfo : OA.Webs.PageBase
    {
        public  void Page_Load(object sender, EventArgs e)
        {
            this.PageBegin("部门管理", true);
        }
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            if (this.EmpRightCode >= 2)
            {
                Response.Redirect("DepNew.aspx");
            }
            else
                JScript.Alert("您没添加权限");
        }
       
           
        public  void Deleting_DepInfo(object sender, GridViewDeleteEventArgs e)
        {
             if (this.EmpRightCode >= 3)
            {
                int depid = Convert.ToInt16(GridView1.DataKeys[e.RowIndex].Value.ToString());
                DepInfo editDepInfo = new DepInfo();//这里出错,就是保护级限制
                editDepInfo.Delete_DepInfo(depid);//出错
            }
            else
            {
                JScript.Alert("您没有删除权限");
                e.Cancel = true;
            }
        }
        public void Editing_DepInfo(object sender, GridV
    我的DA层里面的DepInfo类
    using System.Data;
    using System.Configuration;
    namespace OA.DA
    {
        public class DepInfo
        {
            public string ConnString;
            public SqlConnection SqlConn;
            pulbic SqlCommand SqlCmd;
            public SqlDataReader SqlReader;
            public SqlDataAdapter SqlAdapter;
            public DataSet ds;
           
            public DepInfo()
            {
                ConnString = ConfigurationSettings.AppSettings["ConnectionString"];
                SqlConn = new SqlConnection(ConnString);
                SqlCmd = new SqlCommand();
                SqlAdapter = new SqlDataAdapter();
                ds = new DataSet();
            }        public DataSet Select_DepInfo()
            {
                SqlAdapter.SelectCommand = new SqlCommand("Select_DepInfo", SqlConn);
                SqlAdapter.Fill(ds, "temp");
                return ds;
            }        public void Update_DepInfo(int DepID, string DepName, string Manager, string Tel1, String Tel2, string Fax, string EmpNum)
            {
                SqlCmd.CommandText = "Update_DepInfo";
                SqlCmd.CommandType = CommandType.StoredProcedure;
                SqlParameter parameterUpdate0 = new SqlParameter("@DepID", SqlDbType.Int, 4);
                parameterUpdate0.Value = DepID;
                SqlCmd.Parameters.Add(parameterUpdate0);
                SqlParameter parameterUpdate1 = new SqlParameter("@DepName", SqlDbType.VarChar, 50);
                parameterUpdate1.Value = DepName;
                SqlCmd.Parameters.Add(parameterUpdate1);
                SqlParameter parameterUpdate2 = new SqlParameter("@Manager", SqlDbType.VarChar, 50);
                parameterUpdate2.Value = Manager;
                SqlCmd.Parameters.Add(parameterUpdate2);
                SqlParameter parameterUpdate3 = new SqlParameter("@Tel1", SqlDbType.VarChar, 50);
                parameterUpdate3.Value = Tel1;
                SqlCmd.Parameters.Add(parameterUpdate3);
                SqlParameter parameterUpdate4 = new SqlParameter("@Tel2", SqlDbType.VarChar, 50);
                parameterUpdate4.Value = Tel2;
                SqlCmd.Parameters.Add(parameterUpdate4);
                SqlParameter parameterUpdate5 = new SqlParameter("@Fax", SqlDbType.VarChar, 50);
                parameterUpdate5.Value = Fax;
                SqlCmd.Parameters.Add(parameterUpdate5);
                SqlParameter parameterUpdate6 = new SqlParameter("@EmpNum", SqlDbType.VarChar, 50);
                parameterUpdate6.Value = EmpNum;
                SqlCmd.Parameters.Add(parameterUpdate6);
                SqlCmd.Connection = SqlConn;
                SqlConn.Open();
                SqlCmd.ExecuteNonQuery();
                SqlConn.Close();        }
      

  11.   

    哎,老乡,怎么这么不厚道呢.E:\ASP.NET\WebSite22\top.aspx.cs(30,31): 错误 CS0122: “OA.DA.CatalogsDB”不可访问,因为它受保护级别限制
    ---------------------------------------------------------------
    这个肯定是因为你的public,private这些弄错了。E:\ASP.NET\WebSite22\top.aspx.cs(30,27): 错误 CS0143: 类型“OA.DA.CatalogsDB”未定义构造函数
    -------------------------------------
    加上这条提示就是你的构造函数没有加public,默认是private
      

  12.   

    DepInfo editDepInfo = new DepInfo();//这里出错,就是保护级限制
    写成OA.DA.DepInfo editDepInfo = new OA.DA.DepInfo();
    试试..
      

  13.   


         老乡,你帮我看看会有错吗?呵呵,是不是public出错?肯定不是,构造函数也用了pulbic.呵呵,真不知道错在哪,郁闷!
    namespace OA.DA
    {
        public class CatalogsDB
        {
            public SqlConnection con;
            public CatalogsDB()
            {
                string conStr = ConfigurationSettings.AppSettings.Get("ConnectionString");
                con = new SqlConnection(conStr);
                // TODO: 在此处添加构造函数逻辑
                //
            }
      

  14.   

    还要提供一个信息,就是我另外要了一个Common层,我用里面的类,就没有发生问题
      

  15.   

    ForeverLoveing:专程跑来接分的吗?
    还是倒分贴??