PDA

View Full Version : خالی کردن فیلدها بر اثر دستور update



navid1n2000
سه شنبه 26 خرداد 1388, 22:23 عصر
من توی یک قسمت برنامه تغییر اطلاعات اعضا رو دارم


SqlConnection objConnection = new SqlConnection("Server=PC;Database=VamDB;Integrated Security = True");
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
DataSet objDataSet;
objDataAdapter.SelectCommand = new SqlCommand();
objDataAdapter.SelectCommand.Connection = objConnection;
objDataAdapter.SelectCommand.CommandText = " UPDATE MembersInfo Set FName=@FName,LName=@LName,ShShonasnameh=@ShShonasn ameh,ShHesab=@ShHesab,TarikhTavalod=@TarikhTavalod ,KMelli=@KMelli,Phone=@Phone,Mobile=@Mobile,Father Name=@FatherName WHERE ShOzviat=" + lblShOzviat.Text;
objDataAdapter.SelectCommand.CommandType = CommandType.Text;
objDataSet = new DataSet();
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@FName", txtfname.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@LName", txtlname.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@ShShonasnameh", txtshsh.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@ShHesab", txtShHesab.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@TarikhTavalod", txtTTavalod.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@KMelli", txtkmelli.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@Phone", txtPhone.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@Mobile", txtMobile.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@FatherName", txtFatherName.Text);
objConnection.Open();
objDataAdapter.Fill(objDataSet, "MembersInfo");
objConnection.Close();

وقتی این دستور انجام میشه بغیر او فیلدی که تغییر کرده اطلاعات بقیه رو از بین می بره .:گریه:
چرا؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

Reza_Yarahmadi
چهارشنبه 27 خرداد 1388, 13:06 عصر
من همین کد شما رو روی یکی از بانکهام اجرا کردم هیچ مشکلی نداشت و درست اجرا شد. فقط همون رکوردی رو که باید تغییر بده ، تغییر داد!
احتمالا باید مشکل از جای دیگه ای باشه مثلا ممکنه یه تریگر توی بانک داری که درست کار نمیکنه و یا توی برنامه، جایی غیر از این کد اون خرابکاری رو انجام میده ....
اگه کل کد مربوط به رویداد Update رو بذاری بهتر میشه کمک کرد.

navid1n2000
چهارشنبه 27 خرداد 1388, 13:27 عصر
من همین کد شما رو روی یکی از بانکهام اجرا کردم هیچ مشکلی نداشت و درست اجرا شد. فقط همون رکوردی رو که باید تغییر بده ، تغییر داد!
احتمالا باید مشکل از جای دیگه ای باشه مثلا ممکنه یه تریگر توی بانک داری که درست کار نمیکنه و یا توی برنامه، جایی غیر از این کد اون خرابکاری رو انجام میده ....
اگه کل کد مربوط به رویداد Update رو بذاری بهتر میشه کمک کرد.
نمیدونم مشکل کجاست.
البته هد memberinfo یک view هست . مشکل از ایجا نیست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

Reza_Yarahmadi
چهارشنبه 27 خرداد 1388, 20:11 عصر
فکر نمیکنم به View مربوط باشه مگر اینکه این توی ساخت View مشکلی باشه که زیاد با عقل جور در نمیاد!!
نمیشه همه کد توی رویداد Update رو بذارید؟ (همه کدی که احتمالا توی رویداد کلیک یه باتن نوشتی)

navid1n2000
پنج شنبه 28 خرداد 1388, 14:17 عصر
فکر نمیکنم به View مربوط باشه مگر اینکه این توی ساخت View مشکلی باشه که زیاد با عقل جور در نمیاد!!
نمیشه همه کد توی رویداد Update رو بذارید؟ (همه کدی که احتمالا توی رویداد کلیک یه باتن نوشتی)
این عکس فرممه :
http://upload.iranblog.com/6/1245381947.jpg
وقتی دکمه ذخیره اطلاعات جدید زده میشه :


SqlConnection objConnection = newSqlConnection("Server=PC;Database=VamDB;Integrated Security = True");
SqlDataAdapter objDataAdapter = newSqlDataAdapter();
DataSet objDataSet;
objDataAdapter.SelectCommand = newSqlCommand();
objDataAdapter.SelectCommand.Connection = objConnection;
objDataAdapter.SelectCommand.CommandText = " UPDATE MembersInfo Set FName=@FName,LName=@LName,ShShonasnameh=@ShShonasn ameh,ShHesab=@ShHesab,TarikhTavalod=@TarikhTavalod ,KMelli=@KMelli,Phone=@Phone,Mobile=@Mobile,Father Name=@FatherName WHERE ShOzviat=" + lblShOzviat.Text;
objDataAdapter.SelectCommand.CommandType = CommandType.Text;
objDataSet = newDataSet();
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@FName", txtfname.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@LName", txtlname.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@ShShonasnameh", txtshsh.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@ShHesab", txtShHesab.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@TarikhTavalod", txtTTavalod.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@KMelli", txtkmelli.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@Phone", txtPhone.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@Mobile", txtMobile.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("@FatherName", txtFatherName.Text);
objConnection.Open();
objDataAdapter.Fill(objDataSet, "MembersInfo");
objConnection.Close();
MessageBox.Show("يی©ںی¬ ںلéںمں¢ مàي ں êيهçی¢ ںë¤ںê ¬§", "êيهçی¢ مêéیں¢", MessageBoxButtons.OK, MessageBoxIcon.Information);

و بعدش وقتی اون بالا شماره عضوو می زنم می بینم اطلاعاتشو به غیر ازاونی که تغییر کرده پاک کرده . توی دیتا بیسم همین طور . . .

Reza_Yarahmadi
پنج شنبه 28 خرداد 1388, 15:28 عصر
کد زیر رو بجای کد خودت امتحان کن تا ببینیم چی میشه!!!


SqlConnection objConnection = new SqlConnection("Server=PC;Database=VamDB;Integrated Security = True");
SqlCommand Cmd = new SqlCommand();
Cmd.CommandText = " UPDATE MembersInfo Set FName=@FName,LName=@LName,ShShonasnameh=@ShShonasn ameh,ShHesab=@ShHesab,TarikhTavalod=@TarikhTavalod ,KMelli=@KMelli,Phone=@Phone,Mobile=@Mobile,Father Name=@FatherName WHERE ShOzviat=" + lblShOzviat.Text;
Cmd.Connection = objConnection;
Cmd.Parameters.AddWithValue("@FName", txtfname.Text);
Cmd.Parameters.AddWithValue("@LName", txtlname.Text);
Cmd.Parameters.AddWithValue("@ShShonasnameh", txtshsh.Text);
Cmd.Parameters.AddWithValue("@ShHesab", txtShHesab.Text);
Cmd.Parameters.AddWithValue("@TarikhTavalod", txtTTavalod.Text);
Cmd.Parameters.AddWithValue("@KMelli", txtkmelli.Text);
Cmd.Parameters.AddWithValue("@Phone", txtPhone.Text);
Cmd.Parameters.AddWithValue("@Mobile", txtMobile.Text);
Cmd.Parameters.AddWithValue("@FatherName", txtFatherName.Text);
objConnection.Open();
Cmd.ExecuteNonQuery();
objConnection.Close();

navid1n2000
پنج شنبه 28 خرداد 1388, 19:26 عصر
کد زیر رو بجای کد خودت امتحان کن تا ببینیم چی میشه!!!


SqlConnection objConnection = new SqlConnection("Server=PC;Database=VamDB;Integrated Security = True");
SqlCommand Cmd = new SqlCommand();
Cmd.CommandText = " UPDATE MembersInfo Set FName=@FName,LName=@LName,ShShonasnameh=@ShShonasn ameh,ShHesab=@ShHesab,TarikhTavalod=@TarikhTavalod ,KMelli=@KMelli,Phone=@Phone,Mobile=@Mobile,Father Name=@FatherName WHERE ShOzviat=" + lblShOzviat.Text;
Cmd.Connection = objConnection;
Cmd.Parameters.AddWithValue("@FName", txtfname.Text);
Cmd.Parameters.AddWithValue("@LName", txtlname.Text);
Cmd.Parameters.AddWithValue("@ShShonasnameh", txtshsh.Text);
Cmd.Parameters.AddWithValue("@ShHesab", txtShHesab.Text);
Cmd.Parameters.AddWithValue("@TarikhTavalod", txtTTavalod.Text);
Cmd.Parameters.AddWithValue("@KMelli", txtkmelli.Text);
Cmd.Parameters.AddWithValue("@Phone", txtPhone.Text);
Cmd.Parameters.AddWithValue("@Mobile", txtMobile.Text);
Cmd.Parameters.AddWithValue("@FatherName", txtFatherName.Text);
objConnection.Open();
Cmd.ExecuteNonQuery();
objConnection.Close();

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