PDA

View Full Version : چجوری میشه چندتا فیلد رو چندبار تو یه جدول اضافه کرد (چجوری فیلد کلید رو نادید بگیره)



kordestan
سه شنبه 29 اسفند 1391, 22:32 عصر
من میخوام به کاربر امکان چند تا انتخاب از لیست رو بدم که احتمال تکرار یک فیلد در ون وجود داره.....ولی هرکاری میکنم linq ارور primary key میده.....اگرم کلید رو بردارم بدتر اصلاً اجازه insert نمیده ....کسی راه حلشو بلده؟
:ناراحت:

Mahmoud.Afrad
چهارشنبه 30 اسفند 1391, 00:54 صبح
کد اینزرت و ساختار جدول رو بزارید.

alaveh
چهارشنبه 30 اسفند 1391, 02:08 صبح
یک کلید اتوماتیک بگیر

در ضمن کلید اجباری نیست . میتونی برداری . نیاز نیست حتما کلید معرفی کنی . حتی میتونی کلید داشته باشی ولی توی برنامت چک کنی که تکراری نباشه .

اگر ارور میده وقتی کلیدتو بر میداری یک بار کلید رو بردار . تیبل رو سیو کن . از دیتابیس خارج شو و دوباره بازش کن . نباید ارور بده دیگه .

در بدترین حالت تیبل رو دوباره بساز و کلید معرفی نکن . این حالت حتما جواب میده و نیازی به سوال کردن و منتظر جواب موندن هم نداره و احتمالا کارت سریعتر راه میفته .

kordestan
چهارشنبه 30 اسفند 1391, 09:57 صبح
alaveh جان همین کارم کردم....مثلا زمانی که میخوام پرسجو روی اون جدول انجام بدم خطا میگیره (upadate,delete,....primary key) یه چیزی تو همین مایه ها....بعد وقتی میرم دوباره کلید رو اضافه میکنم درست میشه.....حالا تو نرم افزار من که مال یه فروشگاهستش من باید به کاربر این اجازه رو بدم که در صورت لزوم چند تا محصول رو چند بار انتخاب کنه بار اول با زدن دکمه ی اضافه میره تو لیست خرید ولی برای بار دوم خطای primary key میگیره.....یعنی راه دیگه ای نداره و من باید مسیرمو تغییر بدم ؟؟؟؟؟؟؟؟؟؟؟؟:ناراحت:

alaveh
چهارشنبه 30 اسفند 1391, 11:26 صبح
خوب عزیز همون کار اول رو انجام بده که گفتم

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

tooraj_azizi_1035
چهارشنبه 30 اسفند 1391, 11:47 صبح
کد و عکس خطا رو بذار.

kordestan
چهارشنبه 30 اسفند 1391, 17:16 عصر
اینم از خطا:
http://cend.site90.com/photos/5abba84b1901.png
من برای نمایش اون مقدارها یک جدول جدا تعریف کردم که با زدن دکمه اضافه اطلاعات میرن تو اون جدول و بعدا با یه اینزرت محتویات جدولو فراخوانی میکنم .

alaveh
چهارشنبه 30 اسفند 1391, 22:15 عصر
عزیز شما داری از کامپوننتهای متصل شده به DB برای نمایش و ویرایش استفاده میکنی .

با کویری آپدیت کن مشکلت حل میشه .

INSERT INTO TBL1 (Field1,Field2,Field3) VALUES(Val1,Val2,Val3)

Update نام جدول
Set نام فيلد = مقدار جديد
Where نام فيلد = مقدار قبلی

kordestan
چهارشنبه 30 اسفند 1391, 22:21 عصر
دمت گرم....خوب بود
:تشویق: