PDA

View Full Version : سوال: مشکل در اپدیت داده ها



majid_majidi27
شنبه 11 آبان 1392, 16:13 عصر
با سلام من یه بانک اطلاعاتی دارم که وقتی یک داده ازش حذف میکنم در به روز رسانی ان ایراد میگیره
اینم عکس همراه با ارور و کد

hafez_ka
شنبه 11 آبان 1392, 16:49 عصر
به نظر من از این کد برای حذف رکورد استفاده کن

try
{
SqlCommand cmd = new SqlCommand("delete from customer where id = '" + dataGridView1.SelectedRows[0].Cells["clm_id"].Value.ToString() + "'", con);
if (MessageBox.Show("آیا مایل به حذف رکورد مورد نظر هستید؟", "سئوال", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
{
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("رکورد مورد نظر با موفقیت حذف شد", "پیغام", MessageBoxButtons.OK, MessageBoxIcon.Information);
list_customer_Load(null, null);
}

}
catch
{
MessageBox.Show("کاربر گرامی امکان حذف این رکورد وجود ندارد", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}

همچنین اون خطایی که بالا اشاره کرده منظورش اینکه جدول مورد نظر رو نمی تونه پیدا کنه

مشکلش از اینه کدتو چک کن

Table1 ------> table1

با هم برابر نیستند

majid_majidi27
شنبه 11 آبان 1392, 23:39 عصر
سلام مرسی که جواب دادید
کدی که من نوشتم به درستی کار میکنه وداده مورد نظر را حذف میکنه اما موقع آپدیت کردن،دیتا گرید موجود بر روی فرم را به روز نمیکنه و داده های قبلی در ان وجود دارد تا زمانی که برنامه بسته بشه و دوباره باز بشه یعنی عمل اپدیت کردن به صورت دستی انجام بشه
اون اسمی را هم که گفتید چک کردم اما اون هم مشکلی نداشت
اگه بازم کمکم کنید بسیار ممنون میشم

rasoolf
یک شنبه 12 آبان 1392, 08:21 صبح
یه راه اینه که بعد از اینکه داده مورد نظر را حذف کردی دوباره داده های جدول را داخل دیتا گرید load کنی.
یعنی همون دستوراتی که برای فراخوانی داده ها از پایگاه داده مینویسی و داخل دیتا گرید نمایش میده رو براش بنویسی. و بهتر اینکه که یک تابع برای اینکار تعریف کنی و کدهای مربوط به اون را از قبیل مقادیر sqlconnection، همچنین کد اتصال به پایگاه داده و غیره را داخل اون بنویسی ودر مواقع نیاز مثل مورد فعلی اون تابع را فراخوانی کنی.

danialafshari
یک شنبه 12 آبان 1392, 09:08 صبح
سلام مرسی که جواب دادید
کدی که من نوشتم به درستی کار میکنه وداده مورد نظر را حذف میکنه اما موقع آپدیت کردن،دیتا گرید موجود بر روی فرم را به روز نمیکنه و داده های قبلی در ان وجود دارد تا زمانی که برنامه بسته بشه و دوباره باز بشه یعنی عمل اپدیت کردن به صورت دستی انجام بشه
اون اسمی را هم که گفتید چک کردم اما اون هم مشکلی نداشت
اگه بازم کمکم کنید بسیار ممنون میشم

باید بعد از تغییرات اطلاعات رو دوباره Fill کنی
می تونی از کد زیر بعد از عملیات add, delete, update استفاده کنی
Form1_Load(null, null);

majid_majidi27
دوشنبه 13 آبان 1392, 21:13 عصر
مرسی از همتون:قلب:
من این ارور را هرکاری کردم بر طرف نشد اما اومدم بعد از حذف ی کدی گذاشتم که به طور دستی data grid پر میکنه و اینطوری به کلک زدم:چشمک::لبخندساده: