三层架构中的问题,郁闷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”不可访问,因为它受保护级别限制
没用三层架构的时候可用,用了三层结构,出错了,很可能是调用的问题。希望多多来顶!
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”不可访问,因为它受保护级别限制
这个题目够吸引人吧,希望有识之士能帮忙顶!
我觉得应该是调用层的时候有问题!
这是一个页面的后台代码,能这样引入其它两个层的命名空间吗?
using OA.Common;
using OA.DA;
public partial class WEB_UserLog : OA.Webs.PageBase
{
我说过了,我不放在三层结构中,这些类都是可以访问的
就是调用了,就不行了
而且数据层没有错误,错误发生在生成的网站中
我做得比较简单,就没有要BLL,新手嘛!
表示层里面一个.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(); }
---------------------------------------------------------------
这个肯定是因为你的public,private这些弄错了。E:\ASP.NET\WebSite22\top.aspx.cs(30,27): 错误 CS0143: 类型“OA.DA.CatalogsDB”未定义构造函数
-------------------------------------
加上这条提示就是你的构造函数没有加public,默认是private
写成OA.DA.DepInfo editDepInfo = new OA.DA.DepInfo();
试试..
老乡,你帮我看看会有错吗?呵呵,是不是public出错?肯定不是,构造函数也用了pulbic.呵呵,真不知道错在哪,郁闷!
namespace OA.DA
{
public class CatalogsDB
{
public SqlConnection con;
public CatalogsDB()
{
string conStr = ConfigurationSettings.AppSettings.Get("ConnectionString");
con = new SqlConnection(conStr);
// TODO: 在此处添加构造函数逻辑
//
}
还是倒分贴??