PDA

View Full Version : خطای Duplicate values in the index, primary key در آپدیت دیتابیس



hadi vafaii
دوشنبه 06 مرداد 1393, 19:47 عصر
میخوام دیتابیسم رو آپ دیت کنم این خطا رو میده میشه بگین کجای کارم مورد داره کد رو این جوری نوشتم


121659








private void button1_Click(object sender, EventArgs e)
{

OleDbConnection a = new OleDbConnection();
a.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=|datadirectory|\\Database.mdb;persist security info = false";
a.Open();
OleDbCommand b = new OleDbCommand();
b.CommandText = "update Table1 set name='" + txtname.Text + "', famil='" + txtfamil.Text + "',pedar='" + txtpedar.Text + "',shenase=" + txtshenase.Text + ",ozviyat='" + combozv.SelectedItem + "',digar='" + txtdigar.Text + "',tel='" + txttel.Text + "',tahvil='" + txttahvil.Text + "' where cod='" + txtcode.Text + "'";
b.Connection = a;



b.ExecuteNonQuery();
MessageBox.Show("اطلاعات ثبت شد");


MessageBox.Show(" !اطلاعات درج شده اشتباه می باشد ", "خــطـا");







a.Close();

sagggad
دوشنبه 06 مرداد 1393, 20:13 عصر
از کدام خط ارور میگیره ؟

systam
دوشنبه 06 مرداد 1393, 20:29 عصر
سلام
اون فیلد cod باید کلید اصلی باشه (primari key)

محمد آشتیانی
دوشنبه 06 مرداد 1393, 20:29 عصر
سلام
پست اصلاح شد.

کلید اصلی تو جدولت کدوم فیلده؟
اگر cod باشه قاعدتا نباید تو آپدیت این خطا رو بده ، چون مقدار cod رو تغییر نمیدی ، مگر اینکه فیلد کلیدت فیلد دیگه ای باشه

hadi vafaii
دوشنبه 06 مرداد 1393, 20:50 عصر
سلام
پست اصلاح شد.

کلید اصلی تو جدولت کدوم فیلده؟
اگر cod باشه قاعدتا نباید تو آپدیت این خطا رو بده ، چون مقدار cod رو تغییر نمیدی ، مگر اینکه فیلد کلیدت فیلد دیگه ای باشه

سلام استاد کیلید اصلیم همونه که نوشتم کدم موردی نداره؟

محمد آشتیانی
سه شنبه 07 مرداد 1393, 02:47 صبح
سلام
با همین کد یه کوئری insert اجرا کن ببین درست اجرا میشه آیا؟

این مطلب البته ربطی به خطایی که میده نداره اما چرا دوتا Message Box مربوط به موفقیت عملیات و خطا رو پشت سر هم گذاشتی

hadi vafaii
سه شنبه 07 مرداد 1393, 03:00 صبح
سلام
با همین کد یه کوئری insert اجرا کن ببین درست اجرا میشه آیا؟

این مطلب البته ربطی به خطایی که میده نداره اما چرا دوتا Message Box مربوط به موفقیت عملیات و خطا رو پشت سر هم گذاشتی

دست گلت درد نکنه استاد مشکل حل شد مشکل از این بود که دیتابیس باز بود و اون خطا رو میداد بعدش message box ها تو try بودن قبلش try رو برداشته بودم ببینم مشکل از کجاست و کد رو که اینجا کپی کرده بودم هنوز اصلاح نشده بود :لبخند: