PDA

View Full Version : سوال: آپدیت کردن ID



hamid_73
شنبه 09 فروردین 1393, 21:59 عصر
سلام دوستان من این کدو میزنم(واسه اپدیته) ولی ای دی رو اپ دیت نمیکنه چرا؟؟؟

try
{
CreatConnection();
OpenConnection();
cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "UPDATE tbl_Reg SET ID = @New_ID, F_Name = @F_Name,"
+ "L_Name = @L_Name, Count = @Count, azDate = @azDate,"
+ "taDate= @taDate, PW=@PW WHERE ID = @Old_ID";
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@New_ID", txt_ID.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@F_Name", txt_Name.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@L_Name", txt_Family.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@Count", txt_Count.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@azDate", txt_azDate.txtDate.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@taDate", txt_taDate.txtDate.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@PW", txt_PW.Text.Trim().ToString());
cmd.ExecuteNonQuery();
CloseConnection();
dgv();
MessageBox.Show("اطلاعات دانشجو به روز رسانی شد");
}
catch { }

veniz2008
شنبه 09 فروردین 1393, 23:02 عصر
سلام.
پارامتر Old_ID@ رو فراموش کردید به همراه بقیه پارامترها بفرستید.
همیشه برای اینکه بهتر بشه راهنمایی کرد، اگر خطایی رخ میده عکسی از خطا بذارید یا اینکه یه توضیح کاملتر بدید که دقیقا چه اتفاقی می افته ( "آپدیت نمی کنه" جمله مبهمی هست).
موفق باشید.

hamid_73
شنبه 09 فروردین 1393, 23:04 عصر
داداش ارور هیچی نمیده همه فیلد ها رو اپدیت می کنه به جز آی دی

hamid_73
شنبه 09 فروردین 1393, 23:38 عصر
کسی نمیدونه چرا؟؟؟؟؟

NasimBamdad
شنبه 09 فروردین 1393, 23:45 عصر
دوست عزیز شما از Try Catch استفاده کردی ولی در قسم Catch هیچی ننوشتی


اولا که این قسمت رو ببین


WHERE ID = @Old_ID


الان @Old_ID رو کجا تعریف کردی و مقدار دهی کردی ؟؟

دوما قسمت Catch رو این طوری بنویس


catch ( Exception ex)
{
MessageBox.Show(ex.Message);
}

hamid_73
شنبه 09 فروردین 1393, 23:53 عصر
خب ol_id رو کجا باید نقدار دهی کنم

NasimBamdad
شنبه 09 فروردین 1393, 23:55 عصر
قسمت cmd.Parameters.AddWithValue

شما گفتی ID = @OLD_ID .

مقدار این @Old_ID چی هست !؟

hamid_73
یک شنبه 10 فروردین 1393, 00:05 صبح
old_Id
مقدارش هیچی نیست می خوام ای دی که قراره عوض بشه رو بریزم اینتو برا مقایسه تا بتونم ای دی رو اپدیت کنم

NasimBamdad
یک شنبه 10 فروردین 1393, 00:17 صبح
اینو به جای شرط قرار بده ببین میشه یا نه


WHERE ID = @ID

Mojtaba.Shateri
یک شنبه 10 فروردین 1393, 00:17 صبح
old_Id
مقدارش هیچی نیست می خوام ای دی که قراره عوض بشه رو بریزم اینتو برا مقایسه تا بتونم ای دی رو اپدیت کنم

شما مقدار Old_ID رو برابر با آیدی رکروردی ک قراره عوض بشه قرار بده. مثلا من اینجا 12 قرار دادم.
cmd.Parameters.AddWithValue("@Old_ID", "12");
ضمنا فیلد ID در جدول نباید IDENTITY باشه.

hamid_73
یک شنبه 10 فروردین 1393, 08:54 صبح
اینو کجای کدم قرار بد؟؟

Mojtaba.Shateri
یک شنبه 10 فروردین 1393, 14:34 عصر
اینو کجای کدم قرار بد؟؟
تست کن : :لبخندساده:try{
CreatConnection();
OpenConnection();
cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "UPDATE tbl_Reg SET ID = @New_ID, F_Name = @F_Name,"
+ "L_Name = @L_Name, Count = @Count, azDate = @azDate,"
+ "taDate= @taDate, PW=@PW WHERE ID = @Old_ID";
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@New_ID", txt_ID.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@F_Name", txt_Name.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@L_Name", txt_Family.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@Count", txt_Count.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@azDate", txt_azDate.txtDate.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@taDate", txt_taDate.txtDate.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@PW", txt_PW.Text.Trim().ToString());

cmd.Parameters.AddWithValue("@Old_ID", "12");

cmd.ExecuteNonQuery();
CloseConnection();
dgv();
MessageBox.Show("اطلاعات دانشجو به روز رسانی شد");
}
catch ( Exception ex)
{
MessageBox.Show(ex.Message);
}

البته من تستی آیدی 12 فرض کردم. شما اون مقداری که در table وجود داره و میخوای ویرایش کنی برا ایدی بزار.

hamid_73
یک شنبه 10 فروردین 1393, 14:48 عصر
تست کن : :لبخندساده:try{
CreatConnection();
OpenConnection();
cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "UPDATE tbl_Reg SET ID = @New_ID, F_Name = @F_Name,"
+ "L_Name = @L_Name, Count = @Count, azDate = @azDate,"
+ "taDate= @taDate, PW=@PW WHERE ID = @Old_ID";
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@New_ID", txt_ID.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@F_Name", txt_Name.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@L_Name", txt_Family.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@Count", txt_Count.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@azDate", txt_azDate.txtDate.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@taDate", txt_taDate.txtDate.Text.Trim().ToString());
cmd.Parameters.AddWithValue("@PW", txt_PW.Text.Trim().ToString());

cmd.Parameters.AddWithValue("@Old_ID", "12");

cmd.ExecuteNonQuery();
CloseConnection();
dgv();
MessageBox.Show("اطلاعات دانشجو به روز رسانی شد");
}
catch ( Exception ex)
{
MessageBox.Show(ex.Message);
}

البته من تستی آیدی 12 فرض کردم. شما اون مقداری که در table وجود داره و میخوای ویرایش کنی برا ایدی بزار.


خیلی ممنون داداش

Mojtaba.Shateri
یک شنبه 10 فروردین 1393, 19:12 عصر
خیلی ممنون داداش

امیدوارم حل شده باشه. مخلصیم:چشمک: