کلا فه شدم - حذف کردن از یک Table
سلام
دوستان من تو این کد به پیغام خطا
No value given for one or more required parameters.
بر میخورم.
فکر نمیکنم حذف کردن یک رکورد از یک جدول اینقدر مشکل ایجادکنه .
oledb_con.Open();
OleDbCommand cmd_delete_item = new OleDbCommand();
cmd_delete_item.CommandText = "DELETE FROM tb_items WHERE items=" + txt_selectItem.Text;
cmd_delete_item.Connection = oledb_con;
cmd_delete_item.ExecuteReader();
MessageBox.Show(" آیتم مورد نظر حذف گردید ", "پیام", MessageBoxButtons.OK, MessageBoxIcon.Information);
oledb_con.Close();
ضمن اینکه من همین کد رو اینطوری نوشتم جواب داد یعنی رکورد پاک شد
cmd_delete_item.CommandText = "DELETE FROM tb_items WHERE id=2"
ولی همین رو به این شکل نوشتم باز همون پیغام خطا رو میده
cmd_delete_item.CommandText = "DELETE FROM tb_items WHERE items=ffffff"
نقل قول: کلا فه شدم - حذف کردن از یک Table
سلام
از تابع
ExecuteNonQuery استفاده کنید و اگر هم فیلد items رشته است کدتون رو به صورت زیر اصلاح کنید
cmd_delete_item.CommandText = "DELETE FROM tb_items WHERE items='" + txt_selectItem.Text+"'";
نقل قول: کلا فه شدم - حذف کردن از یک Table
اول مطمئن شوید که txt_selectItem.Text خالی یا null نباشد
بعد به یاد داشته باشید در این فرمان شما یک عمل جستجو و شرط دارید. ممکنه هیچ رکوردی با مشخصاتی که شما به commandText داده اید یافت نشده باشد.
در این صورت چیزی برای پاک کردن وجود ندارد!
کار کردن با SQL به صورت فرمان های رشته ای کار سرسام آوری است و به شما پیشنهاد می کنم به یکی از دهها روش دیگر متوصل شوید این روش شما درضمن خودش یک حفره ی امنیتی است. و هر کسی می تواند با تیز هوشی فرمان های را درون txt_selectItem.Text جای دهد و چیزهای متفاوتی خروجی بگیرد ( فرض کنید درون txt_selectItem.Text کسی یک T-SQL کاملا جدید وارد کند . آنوقت شما مستقیمان آن را به درون CommandText میریزید و بعد Execute می کنید . چه کارها که نمیشود کرد !!!)
نقل قول: کلا فه شدم - حذف کردن از یک Table
سلام. نکاتی رو که دوستمون در بالا گفتن رو حتما مد نظر داشته باشید. کدتون رو بصورت زیر بنویسید:
oledb_con.Open();
OleDbCommand cmd_delete_item = new OleDbCommand();
cmd_delete_item.CommandText = "DELETE FROM tb_items WHERE items=" + txt_selectItem.Text;
cmd_delete_item.Connection = oledb_con;
cmd_delete_item.ExecuteNonQuery()();
MessageBox.Show(" آیتم مورد نظر حذف گردید ", "پیام", MessageBoxButtons.OK, MessageBoxIcon.Information);
oledb_con.Close();
نقل قول: کلا فه شدم - حذف کردن از یک Table
یسیار خوب
دست شما درد نکنه
مشکل از بی تجربگی بنده بود
باید مقادیر رشته ای رو در تک کتیشن میزاشتم
خدا بهتون خیر بده ! :لبخندساده:
نقل قول: کلا فه شدم - حذف کردن از یک Table
جناب حکیم
ممنون از تذکر کاملا بجا و صحیحتون
ولی تکست باکس فقط برای آزمایش و یک متغیر موقت گرفتم که در صورت صحت کد عملیات اصلی رو روش انجام بدم .