pure_love
چهارشنبه 20 تیر 1397, 16:38 عصر
بچه ها من برنامم از دو بخش انبار و فروش تشکیل شده :
148527
این دوتا باهم ارتباطایی دارن !
اول محصولی در انبار ثبت میکنیم و در بخش فروش ، اون محصول که میخاییم بفروشیم تعدادشون باهم ارتباط دارن و کم و زیاد میشن !
مثلا وقتی من محصولی در بخش فروش میخام ثبت کنم ، جوری کد نوشتم که میره محصولی که اسمش با اسم محصول در انبار برابر هم قرار میده و تعداد اونارو تو انبار منهای تعدادی میکنه که کاربر در بخش فروش ثبت کرده !
منظورم اینه موقع ثبت در بخش فروش : تعداد محصول مورد نظر تو انبار رو منهای تعدادی میکنه که در فروش کاربر وارد کرده و ثبت کردیم !
و وقتی میخاییم همون محصول رو در بخش فروش حذف کنیم: تعداد محصول مورد نظر تو انبار رو با تعدادی که ثبت شده بود و الان حذف شده رو باهم جمع میکنه و به حالت قبل برمیگردونه!
امیدوارم منظورم فهمیده باشید.
با کد زیر اینکارو برای یک محصول انجام میده( فقط یکی) :
کد برای ثبت :
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);
148527
این دوتا باهم ارتباطایی دارن !
اول محصولی در انبار ثبت میکنیم و در بخش فروش ، اون محصول که میخاییم بفروشیم تعدادشون باهم ارتباط دارن و کم و زیاد میشن !
مثلا وقتی من محصولی در بخش فروش میخام ثبت کنم ، جوری کد نوشتم که میره محصولی که اسمش با اسم محصول در انبار برابر هم قرار میده و تعداد اونارو تو انبار منهای تعدادی میکنه که کاربر در بخش فروش ثبت کرده !
منظورم اینه موقع ثبت در بخش فروش : تعداد محصول مورد نظر تو انبار رو منهای تعدادی میکنه که در فروش کاربر وارد کرده و ثبت کردیم !
و وقتی میخاییم همون محصول رو در بخش فروش حذف کنیم: تعداد محصول مورد نظر تو انبار رو با تعدادی که ثبت شده بود و الان حذف شده رو باهم جمع میکنه و به حالت قبل برمیگردونه!
امیدوارم منظورم فهمیده باشید.
با کد زیر اینکارو برای یک محصول انجام میده( فقط یکی) :
کد برای ثبت :
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);