VS2010未实现方法或操作

时间:2015-11-05 08:13:43

标签: c#

我有一个带有“添加”按钮的表单,只要我点击它就会收到此错误消息 这是添加按钮的代码

private void btnajoutemploye_Click(object sender, EventArgs e)
    {
        EmployeControlleur ec = new EmployeControlleur();
        EmployeInfo ei = new EmployeInfo();
        bool result;

        ei.matricule = int.Parse(mat.Text);
        ei.nom = nom.Text;
        ei.prenom = pre.Text;
        ei.naissance = naiss.Text;
        ei.lieu = lieu.Text;
        ei.sexe = sex.Text;
        ei.situationfamille = stmat.Text;
        result = ec.ajoutemploye(ei);

        if (result == true)
        {
            MessageBox.Show("Opération effectuée avec succès...");
            this.Close();

        }
        else
        {
            MessageBox.Show("Erreur...");

        }

和方法的代码

class EmployeControlleur
{
    public bool ajoutemploye(EmployeInfo  employe)
    {

        DataBaseHelper dh = new DataBaseHelper();

        dh.ExecuteNonQuery("Insert into Employe values (" + employe.matricule + ",'" + employe.nom + ",'" + employe.prenom + ",'"
            + employe.naissance + ",'" + employe.lieu + ",'" + employe.sexe + ",'" + employe.situationfamille + ",'"
            + employe.personnecontact + ")");
        return true;


    }


}

有人能帮我看清楚吗?

我解释说: 我创建了一个类Employee Info,我使用了ExecuteReader方法,这里是代码:

 class EmployeInfo
{
    private int Matricule;

    public int matricule
    {
        get { return Matricule; }
        set { Matricule = value; }
    }
    private string Nom;

    public string nom
    {
        get { return Nom; }
        set { Nom = value; }
    }
    private string Prenom;

    public string prenom
    {
        get { return Prenom; }
        set { Prenom = value; }
    }
    private string Date_naiss;

    public string naissance
    {
        get { return Date_naiss; }
        set { Date_naiss = value; }
    }
    private string lieu_naiss;

    public string lieu
    {
        get { return lieu_naiss; }
        set { lieu_naiss = value; }
    }
    private string Sexe;

    public string sexe
    {
        get { return Sexe; }
        set { Sexe = value; }
    }
    private string Situation_fam;

    public string situationfamille
    {
        get { return Situation_fam; }
        set { Situation_fam = value; }
    }
    private string Personnecontact;

    public string personnecontact
    {
        get { return Personnecontact; }
        set { Personnecontact = value; }
    }
    private int id_serv;

    public int idserv
    {
        get { return id_serv; }
        set { id_serv = value; }
    }
    private int id_statut;

    public int idstatut
    {
        get { return id_statut; }
        set { id_statut = value; }
    }

    public EmployeInfo()
    {
      }


    public EmployeInfo(int employe)
    {
        DataBaseHelper dh = new DataBaseHelper();
        SqlDataReader dr;
        dr = dh.ExecuteReader("Select * from Employe where Matricule = "+employe);
        if (dr.Read())
        {

           matricule=dr.GetInt32(Matricule);
            nom=dr["Nom"].ToString();
           prenom=dr["Prenom"].ToString();
           naissance=dr["Date_naiss"].ToString();
           lieu=dr["Lieu_naiss"].ToString();
            sexe=dr["Sexe"].ToString();
           situationfamille=dr["Situation_fam"].ToString();
            personnecontact=dr["Personnecontact"].ToString();
           idserv=dr.GetInt32(id_serv);
            idstatut=dr.GetInt32(id_statut);

        }

        dr.Close();
    }
}

第二类Employee Controller,代码为:

 public bool ajoutemploye(EmployeInfo  employe)
    {

        DataBaseHelper dh = new DataBaseHelper();

        dh.ExecuteNonQuery("Insert into Employe values (" + employe.matricule + ",'" + employe.nom + ",'" + employe.prenom + ",'"
            + employe.naissance + ",'" + employe.lieu + ",'" + employe.sexe + ",'" + employe.situationfamille + ",'"
            + employe.personnecontact + ")");
        return true;

现在以添加按钮的形式保存数据和上面的按钮代码:

1 个答案:

答案 0 :(得分:0)

“方法或操作未实现”是NotImplementedException的默认消息,通常在尚未实现的功能的代码中明确抛出。

许多自动生成的代码使用此异常来指示您应该放置自己的代码的位置。例如。当我使用Visual Studio自动实现接口的方法时,就会产生类似的东西:

bool IMyInterface.MyMethod(string parameter)
{
  throw new NotImplementedException();
}

方法的签名是为我完成的,因为它可以自动推断,但我必须提供方法的正文。
因此,请查看异常的堆栈跟踪,找出应用程序所需的代码所在的位置。

除此之外,SQL生成的代码是一个可怕的,错误的和不可维护的混乱。有很多关于如何正确使用它的在线知识(主要是在Stack Overflow :))。