PDA

View Full Version : سوال: دستور delete با پارامتر و بدون primary key



cisco ++
سه شنبه 25 تیر 1392, 00:39 صبح
سلام
اگر جدول موجود در پایگاه داده مون کلید اصلی نداشته باشه ،چطور میشه دستور حذف رو نوشت ؟؟؟؟
این دستور حذف یکی از جداول من هست که کلید اصلی داره و در یک تکست باکس فراخوانی شده:


string sql = "Delete from TblBimar where row={0}";
sql = string.Format(sql, textBox1.Text);

میشه راهنمایی کنید؟؟

veniz2008
سه شنبه 25 تیر 1392, 01:03 صبح
سلام
اگر جدول موجود در پایگاه داده مون کلید اصلی نداشته باشه ،چطور میشه دستور حذف رو نوشت ؟؟؟؟
این دستور حذف یکی از جداول من هست که کلید اصلی داره و در یک تکست باکس فراخوانی شده:


string sql = "Delete from TblBimar where row={0}";
sql = string.Format(sql, textBox1.Text);

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

mahdi_7610
سه شنبه 25 تیر 1392, 09:11 صبح
همون طور که دوستمون گفت کلید اصلی ربطی به Delete نداره
کلید اصلی واسه اینه که مقدار تکراری وارد نشه وگرنه شما میتونید هر فیلدی که خواستید را به عنوان شرط حذف سطر انتخاب کنید. فقط اگه سطرهای تکراری وجود داشته باشه همه سطرهای تکراری را حذف می کنه.