【问题标题】:3 tier architecture compilation error3层架构编译错误
【发布时间】:2013-02-10 23:37:08
【问题描述】:

我在我的 C# WinForms 应用程序中使用 3 层架构。当我编译应用程序时,我的表示层 form1.cs 中出现以下错误

代码:

private void btnSave_Click(object sender, EventArgs e)
{
    BLL.clsBLL obj = new BLL.clsBLL();
    string firstname = txtClientFirstName.Text;
    string lastname = txtClientLastName.Text;
    string age = txtClientAge.Text;
    int Res = 0;
    try
    {
        Res = obj.Save_Client(Client_FirstName, Client_Lastname, Client_Age);
    }
        catch(SqlException ex)
    {
MessageBox.Show(ex.Message);
    }
    if(Res ==1)
    {
MessageBox.Show("Data Saved");
    }

    else
    {
        MessageBox.Show("Data Not Saved");
    }
}

错误:

“BLL.clsBLL”不包含“Save_Client”的定义,并且没有 扩展方法“Save_Client”接受类型的第一个参数 可以找到“BLL.clsBLL”(您是否缺少 using 指令或 汇编参考?)

BLL层中Save_Client的代码如下:

代码:

public int Save_Client(string Client_FirstName, string Client_Lastname, string Client_Age)
{
    Boolean bopassed = true;

    bopassed = Check_Rules(Client_FirstName, Client_Lastname, Client_Age);
    DAL.clsDAL obj = new DAL.clsDAL();
    int Res = 0;
    try
    {
        if (bopassed == true)
        {
obj.Insert_Clients(Client_FirstName, Client_Lastname, Convert.ToInt32(Client_Age));
Res = 1;
        }
        else
        {
Res = 0;
        }
    }
    catch (SqlException)
    {
        throw;
    }
    return Res;
}

private Boolean  Check_Rules(Client_FirstName, Client_Lastname, Client_Age)
{
    Boolean bolres = true;
    if(Client_FirstName=="")
    {
        bolres=false;
    }
    if(Client_Lastname=="")
    {
        bolres=false;
    }
    if(Client_Age=="")
    {
        bolres=false;
    }

    return bolres;
}

错误:

“需要标识符”

在方法 private Boolean Check_Rules(Client_FirstName, Client_Lastname, Client_Age)

我无法找出错误的原因。

谁能告诉我是什么问题?

【问题讨论】:

  • 层架构与这个问题有什么关系?

标签: c# winforms architecture layered


【解决方案1】:

您忘记在Check_Rules 方法中说明参数的类型。您需要更改此行:

private Boolean Check_Rules(Client_FirstName, Client_Lastname, Client_Age)

到这里:

private Boolean Check_Rules(string Client_FirstName, string Client_Lastname, string Client_Age)

【讨论】:

  • +1 为这个回答者。当您调用该方法时,您可能还想使用文本框中的值。像这样:obj.Save_Client(firstname , lastname , age);
猜你喜欢
  • 2011-07-30
  • 1970-01-01
  • 2011-09-30
  • 2010-12-09
  • 2012-09-24
  • 2012-07-21
  • 2011-02-06
  • 2019-03-07
  • 1970-01-01
相关资源
最近更新 更多