0

ASP.NET 3.5 で MVC アーキテクチャを使用しています。編集すると、上記のエラーが発生します。

1)ストアドプロシージャを使用しました:

ALTER PROCEDURE [dbo].[editparty]

    (
    @pcode nvarchar(50),

    @cname nvarchar(100),

    @cont  nvarchar(50)
    )
AS


update tbl_party set party_name=@cname,party_code = @pcode,party_contact =@cont where party_id=(Select party_id  from tbl_party where party_code = @pcode)

2)これは、DALクラスファイルの私の関数です:

public DataSet editp(BOParty pcode, BOParty PName, BOParty Tel)
        {
            OpenCnn();
            SqlCommand cmd = new SqlCommand("editparty", cnn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter[] par = { new SqlParameter("@pcode", pcode.pcode), };
            cmd.Parameters.AddRange(par);
            SqlParameter[] nm = { new SqlParameter("@PName", pcode.pcode), };
            cmd.Parameters.AddRange(nm);
            SqlParameter[] tl = { new SqlParameter("@Tel", pcode.pcode), };
            cmd.Parameters.AddRange(tl);
            SqlDataAdapter ad = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            ad.Fill(ds);
            return ds;
            CloseCnn();


        }

3)BALクラスファイルのこれ

    public DataSet editp(BOParty pcode, BOParty PName, BOParty Tel)
    {
        DataSet ds = new DataSet();
        ds = new DataSet();
        ds = editp(pcode, PName, Tel);
        return ds;
    }

4) これは .cs ファイルにあります。

    protected void edit_Click(object sender, EventArgs e)
    {

        pcode.pcode = txtpcde.Text;
        pcode.Tel= txtcont.Text;
        pcode.PName = txtcname.Text;

        DataSet ds = new DataSet();
        ds = new DataSet();
        ds = pcode.editp(pcode, PName, Tel);

        edit.Enabled = false;

    }
4

2 に答える 2

1

editp強調表示された行で関数を見てください。

public DataSet editp(BOParty pcode, BOParty PName, BOParty Tel)
{
    DataSet ds = new DataSet();
    ds = new DataSet();
    ds = editp(pcode, PName, Tel); // <--- HERE
    return ds;
}

editp再帰的に呼び出すと、 が発生しますStackOverflowExceptioneditpDAL クラスでメソッドを呼び出したいと思いますが、同じeditpメソッドを何度も呼び出しています。

于 2012-06-27T11:10:08.987 に答える
0

3)BALクラスファイルのこれ

  public DataSet editp(BOParty pcode, BOParty PName, BOParty Tel)
    {
        DataSet ds = new DataSet();
        ds = new DataSet();
        ds = party.editp(pcode, PName, Tel);<------ party is object of DAL class file( private     DAParty partydata;)--------------


        return ds;
    }
于 2012-06-27T11:22:13.800 に答える