با سلام من یه بانک اطلاعاتی دارم که وقتی یک داده ازش حذف میکنم در به روز رسانی ان ایراد میگیره
اینم عکس همراه با ارور و کد
با سلام من یه بانک اطلاعاتی دارم که وقتی یک داده ازش حذف میکنم در به روز رسانی ان ایراد میگیره
اینم عکس همراه با ارور و کد
به نظر من از این کد برای حذف رکورد استفاده کن
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
با هم برابر نیستند
سلام مرسی که جواب دادید
کدی که من نوشتم به درستی کار میکنه وداده مورد نظر را حذف میکنه اما موقع آپدیت کردن،دیتا گرید موجود بر روی فرم را به روز نمیکنه و داده های قبلی در ان وجود دارد تا زمانی که برنامه بسته بشه و دوباره باز بشه یعنی عمل اپدیت کردن به صورت دستی انجام بشه
اون اسمی را هم که گفتید چک کردم اما اون هم مشکلی نداشت
اگه بازم کمکم کنید بسیار ممنون میشم
یه راه اینه که بعد از اینکه داده مورد نظر را حذف کردی دوباره داده های جدول را داخل دیتا گرید load کنی.
یعنی همون دستوراتی که برای فراخوانی داده ها از پایگاه داده مینویسی و داخل دیتا گرید نمایش میده رو براش بنویسی. و بهتر اینکه که یک تابع برای اینکار تعریف کنی و کدهای مربوط به اون را از قبیل مقادیر sqlconnection، همچنین کد اتصال به پایگاه داده و غیره را داخل اون بنویسی ودر مواقع نیاز مثل مورد فعلی اون تابع را فراخوانی کنی.
مرسی از همتون
من این ارور را هرکاری کردم بر طرف نشد اما اومدم بعد از حذف ی کدی گذاشتم که به طور دستی data grid پر میکنه و اینطوری به کلک زدم