نمایش نتایج 1 تا 2 از 2

نام تاپیک: مشکل در به روز رسانی بانک داده ( برنامه لایه ای )

  1. #1

    Question مشکل در به روز رسانی بانک داده ( برنامه لایه ای )

    با سلام به دوستان خوب
    من دارم به صورت لایه ای یک پروزه را طراحی می کنم در قسمت به روز رسانی اطلاعات بیمار که داخل بانک داده ام قراره انجام بشه از STP استفاده کردم که به این صورت هست :
    ALTER PROCEDURE [dbo].[update_bimar_matab]
    @documentID int ,@name nvarchar(50), @family nvarchar(50) , @gender nvarchar(3) ,
    @tel1 int , @address nvarchar(100) , @moaref nvarchar(20) , @age_date int
    as
    BEGIN
    update tbBimar
    SET fName=@name ,fFamily =@family ,gender=@gender ,age_date=@age_date ,
    tel1=@tel1 ,address=@address ,moaref=@moaref
    where documentID = @documentID
    END


    داخل لایه اول این کد رو نوشتم :
    private void btnSave_Click(object sender, EventArgs e)
    {
    String name = txtName.Text;
    String family = txtFamily.Text;
    String gender = "";
    Int32 tel1 = Convert.ToInt32(txtTel1.Text);
    String Address = txtAddress.Text;
    String moaref = txtMoaref.Text;
    Int32 age = Convert.ToInt32(txtYear.Text);
    Int32 document = Convert.ToInt32(txtDocumentID.Text);

    Int32 Res = 0;
    BLL.BLLBase obj = new BLL.BLLBase();


    if (rdoMail.Checked == true)
    {
    gender = "مرد";
    }
    else
    {
    gender = "زن";
    }

    try
    {
    Res = obj.update_bimar(document, name, family, gender, tel1, Address, moaref,age);
    }
    catch(Exception ex)
    {
    MessageBox.Show(ex.Message);
    }

    if (Res == 1)
    {
    MessageBox.Show("اطلاعات با موفقیت به روز شد");

    }
    else
    {
    MessageBox.Show("خطا در به روز رسانی اطلاعات!!");
    }
    }


    داخل لایه BLL هم این کد :
    public int update_bimar(Int32 doceumentN, String name, String family, String gender, Int32 tel1, String address,
    String moaref, Int32 age_date)
    {
    Boolean bolpass = true;
    bolpass = chek_rulse_update_bimar(doceumentN, name, family, gender, tel1, address, moaref, age_date);
    DAL.DALBase obj = new DAL.DALBase();
    int Res = 0;
    try
    {
    if (bolpass == true)
    {
    obj.update_bimar(doceumentN, name, family, gender, tel1, address, moaref, age_date);
    Res = 1;
    }
    else
    {
    Res = 0;
    }
    }
    catch (SqlException)
    {
    throw;
    }
    return Res;

    }

    private Boolean chek_rulse_update_bimar(Int32 documentN, String name, String family, String gender, Int32 tel1, String address,
    String moaref, Int32 age_date)
    {
    Boolean bolres = true;
    if (Convert.ToString(documentN).Trim().Length == 0)
    {
    bolres = false;
    }



    return bolres;

    }


    و داخل لایه DAL باز به این صورت عمل کردم :
    public void update_bimar(Int32 documentN, String name, String family, String gender, Int32 tel1, String address, String moaref, Int32 age_date)
    {
    con = new SqlConnection(strcon);
    SqlCommand cmd = new SqlCommand("EXEC update_bimar_matab '" + documentN + "' , '" + name + "' , '" + family + "' , '" + gender + "' ,'" + tel1 + "' , '" + address + "' , '" + moaref + "' , '" + age_date + "'", con);

    try
    {
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    }
    catch (SqlException)
    {
    throw;
    }
    }


    برنامه بدون خطا اجرا می شه :

    update_err.jpg

    ولی داخل بانک مقادیر هیچ تغییری نمی کنه من برنامه را trace کردم ولی به مشکلی بر نخوردم ببینید :
    up.jpg

    مقدار برگشتی هم که اگر برنامه به صورت موفقیت آمیز اجرا شد res = 1 هست که همین مقدار را داره بر می گردونه :

    res.jpg

    کجای برنامه مشکل داره که اطلاعات ارسالی رو به روز نمی کنه ؟
    ممکنه راهنمایی بفرمایید ؟
    ممنون از لطف همگی

  2. #2

    نقل قول: مشکل در به روز رسانی بانک داده ( برنامه لایه ای )

    برنامه مشکلی نداره دوستان اشکال در ارسال اطلاعات بود

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •