PDA

View Full Version : خطا در هنگام Update جدول دارای کلید با خاصیت Identity



nazaninebaba
دوشنبه 14 بهمن 1387, 12:17 عصر
http://barnamenevis.org/forum/

سلام

***ویرایش شده توسط مدیر***

دوم جدول من شامل دو تا ستونه deptid و deptname در قسمت ویرایش میخام deptid که کلید هست و مقدارش اتوماتیک اضاف میشه ثابت باشه و فقط deptname تغییر کنه.
ولی هنگام اجرا از deptid eroor میگیره.




privatevoid BUTinsert2doctor_Click(object sender, EventArgs e)
{
arr.Add(textBox3.Text);
cmd.CommandText = "insert into dept(deptname)Values(@deptname)";
cmd.Parameters.Clear();
cmd.Parameters.Add("@deptname", SqlDbType.NVarChar).Value = arr[0].ToString();
Insert(cmd);
LoadAll();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "dept";
}

nazaninebaba
دوشنبه 14 بهمن 1387, 12:20 عصر
ببخشید اشتباهی کد insert گذاشتم

کد update



private void butedit_Click(object sender, EventArgs e)
{

arr.Add(textBox2.Text);
cmd.CommandText = "Update dept set deptname=@deptname Where deptid=@deptid ";
cmd.Parameters.Clear();
cmd.Parameters.Add("@deptname", SqlDbType.NVarChar).Value = arr[0].ToString();
Update(cmd);
LoadAll();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "dept";

}

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

اوبالیت به بو
دوشنبه 14 بهمن 1387, 12:31 عصر
خوب دوست عزيز يكم به كد خودت نگاه كن و روش فكر كن. اينجا رو ببين:

cmd.CommandText = "Update dept set deptname=@deptname Where deptid=@deptid ";
قسمت آبي رنگ رو به صورت Parameters مقداردهي كردي ولي قسمت سبز رنگ رو چي؟ خوب معلومه كه خطا مي ده. بايد متغير @deptid رو هم مقدار دهي كني.