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

نام تاپیک: چگونگی ارتباط چند ردیف datagridview بین دو فرم

  1. #1

    چگونگی ارتباط چند ردیف datagridview بین دو فرم

    بچه ها من برنامم از دو بخش انبار و فروش تشکیل شده :

    0000.jpg

    این دوتا باهم ارتباطایی دارن !
    اول محصولی در انبار ثبت میکنیم و در بخش فروش ، اون محصول که میخاییم بفروشیم تعدادشون باهم ارتباط دارن و کم و زیاد میشن !
    مثلا وقتی من محصولی در بخش فروش میخام ثبت کنم ، جوری کد نوشتم که میره محصولی که اسمش با اسم محصول در انبار برابر هم قرار میده و تعداد اونارو تو انبار منهای تعدادی میکنه که کاربر در بخش فروش ثبت کرده !
    منظورم اینه موقع ثبت در بخش فروش : تعداد محصول مورد نظر تو انبار رو منهای تعدادی میکنه که در فروش کاربر وارد کرده و ثبت کردیم !
    و وقتی میخاییم همون محصول رو در بخش فروش حذف کنیم: تعداد محصول مورد نظر تو انبار رو با تعدادی که ثبت شده بود و الان حذف شده رو باهم جمع میکنه و به حالت قبل برمیگردونه!
    امیدوارم منظورم فهمیده باشید.

    با کد زیر اینکارو برای یک محصول انجام میده( فقط یکی) :

    کد برای ثبت :

    string conn = (@"Data Source=.;Initial Catalog=adel;Integrated Security=True");
    M.Open();
    var com = new SqlCommand("SELECT tedad FROM anbar WHERE namekala LIKE N'%" + textBox1.Text + "%'", M);
    var h = com.ExecuteScalar();
    var result = Convert.ToString(Convert.ToInt32(h) - Convert.ToInt32(textBox6.Text));
    SqlConnection objsqlconn = new SqlConnection(conn);
    objsqlconn.Open();
    SqlCommand objcmd = new SqlCommand("Update anbar set tedad=@tedad where namekala LIKE N'%" + textBox1.Text + "%'", objsqlconn);
    objcmd.Parameters.AddWithValue("@tedad", result);
    objcmd.ExecuteNonQuery();

    M.Close();


    و همین کد رو اگه بخاییم در بخش حذف استفاده کنیم باید به جای منها ، + بزاریم تعداد محصول به حالت قبل برمیگرده !

    حالا مشکلم اینه :
    میخام وقتی کاربر از ستون انتخاب ( که تو عکس مشخصه و چک باکس داره ) هر تعداد محصول رو که انتخاب کرد و حذف زد ! تعداد تک تکشون جداگونه تو انبار افزایش بده و به حالت قبل برشون گردونه! چجوری اینکار انجام بدم ؟؟؟

    اینم کد حذف کردن رکورد هایی که به وسیله چک باکس انتخاب شده ( گفتم شاید نیاز داشته باشید ) :


    SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=adel;Integrated Security=True");

    List<string> selectedItem = new List<string>();
    DataGridViewRow drow = new DataGridViewRow();
    for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++)
    {
    drow = dataGridView1.Rows[i];
    if (Convert.ToBoolean(drow.Cells[6].Value) == true) //checking if checked or not.
    {
    string id = drow.Cells[0].Value.ToString();
    selectedItem.Add(id); //If checked adding it to the list
    }
    }
    con.Open();
    foreach (string s in selectedItem) //using foreach loop to delete the records stored in list.
    {
    SqlCommand cmd = new SqlCommand("Delete from forosh Where ID='" + s + "'", con);
    int result = cmd.ExecuteNonQuery();
    }

    con.Close();
    MessageBox.Show("رکورد مورد نظر از حذف گردید", "تاییدیه", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

  2. #2

    نقل قول: چگونگی ارتباط چند ردیف datagridview بین دو فرم

    قبل از حلقه یک تراکنش از روی کانکشن ایجاد کنید.
    در حلقه یک دستور آپدیت بزنید و تعداد رو اصلاح کنید. فیلد تعداد و آی دی رو از ردیف دیتاگرید بدست بیارید.
    سپس دستور حذف ردیف فاکتور.
    بعد از حلقه تراکنش را commit و در صورت بروز خطا rollback کنید.

    اگر میتونید فاکتور را حذف نکنید و فقط وضعیتش را به برگشتی تغییر بدید و تعداد را اصلاح کنید.

  3. #3

    نقل قول: چگونگی ارتباط چند ردیف datagridview بین دو فرم

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    قبل از حلقه یک تراکنش از روی کانکشن ایجاد کنید.
    در حلقه یک دستور آپدیت بزنید و تعداد رو اصلاح کنید. فیلد تعداد و آی دی رو از ردیف دیتاگرید بدست بیارید.
    سپس دستور حذف ردیف فاکتور.
    بعد از حلقه تراکنش را commit و در صورت بروز خطا rollback کنید.

    اگر میتونید فاکتور را حذف نکنید و فقط وضعیتش را به برگشتی تغییر بدید و تعداد را اصلاح کنید.
    دوست عزیز میشه بیشتر توضیح بدید ؟
    یعنی کدمو چجوری بنویسم؟

  4. #4

    نقل قول: چگونگی ارتباط چند ردیف datagridview بین دو فرم


تاپیک های مشابه

  1. سوال: چگونگی ارتباط بین دو فرم در سی شارپ
    نوشته شده توسط Ohadi ali در بخش C#‎‎
    پاسخ: 35
    آخرین پست: یک شنبه 18 اسفند 1398, 22:15 عصر
  2. ارتباط یک به یک بین دو فرم
    نوشته شده توسط siavash_skh در بخش Access
    پاسخ: 8
    آخرین پست: چهارشنبه 01 دی 1389, 12:08 عصر
  3. ارتباط ایجاد کردن بین دو فرم تحت بانک
    نوشته شده توسط nadiko در بخش برنامه نویسی در 6 VB
    پاسخ: 8
    آخرین پست: شنبه 06 بهمن 1386, 08:01 صبح
  4. یک مشکل عجیب در ارتباط بین دو فرم
    نوشته شده توسط Hadizadeh در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 6
    آخرین پست: دوشنبه 29 مرداد 1386, 10:24 صبح
  5. برای ارتباط بین دو فرم چه باید کرد
    نوشته شده توسط smt_414 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 22 مرداد 1386, 17:44 عصر

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

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