PDA

View Full Version : چرا database من update نمیشه؟



negar84
جمعه 31 شهریور 1385, 21:51 عصر
سلام
من در فرمم چند تا textbox و یه button و یک datagridview دارم وقتی textbox ها را پر می کنیم بعد با زدن utton اطلاعات در datagridview نمایش داده می شوند بعدش بانک اطلاعاتم رو هم update می کنم وقتی برنامه در حال اجراست حتی وقتی بین صفحه ها حرکت می کنم اطلاعات درست نشان داده می شوند ولی اگر برنامه را ببندم و دوباره اجراش کنم اطلاعات جدیدی که وارد کردم رو نشون نمی ده چرا ؟

negar84
جمعه 31 شهریور 1385, 23:08 عصر
خواهش می کنم یکی جواب بده اینم کدش


objConnection.Open();
objCommand.ExecuteNonQuery();
objConnection.Close();
this.phoneTableAdapter.Fill(this.phone_DataDataSet .phone);
phoneTableAdapter.Update(this.phone_DataDataSet.ph one);

omid_Ahmadi
شنبه 01 مهر 1385, 06:51 صبح
وقتی اطلاعات توی textbox ها وارد شد، کافیه اونها رو توی یه رکورد جدید از دیتا بیس قرار بدید، به این ترتیب داده ها توی دیتا گرید هم نشون داده میشن. حالا برای Update کردن هم کافیه از متد Update استفاده کنید. مثلا:



this.DataAdapter.Update(MyDataSet);


به این ترتیب تمام تغییراتی که توی داده های دیتا ست داده شدن توی دیتا بیس ذخیره میشن.

negar84
شنبه 01 مهر 1385, 11:40 صبح
سلام ممنون از پاسختون این کد منه می شه بگید کجاش اشکال داره.......

SqlConnection objConnection = new SqlConnection();
string conString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\phone_Data.MDF;Integrated Security=True;Persist Security Info=True;User ID=sa;Password=123456;Connect Timeout=30;TrustServerCertificate=False;User Instance=True;";
objConnection.ConnectionString = conString;
SqlCommand objCommand = new SqlCommand();
objCommand.Connection = objConnection;
objCommand.CommandText = "INSERT INTO phone " +"(phone.name,famil,tel,fax) " +
"VALUES(@name, @famil,@phone,@fax)";
objCommand.Parameters.AddWithValue("@name",txtnewname.Text);
objCommand.Parameters.AddWithValue("@famil",txtnewfamil.Text);
objCommand.Parameters.AddWithValue("@phone",txtnewtel.Text);
objCommand.Parameters.AddWithValue("@fax",txtnewfax.Text);
objConnection.Open();
objCommand.ExecuteNonQuery();
objConnection.Close();
this.phoneTableAdapter.Fill(this.phone_DataDataSet .phone);
phoneTableAdapter.Update(this.phone_DataDataSet.ph one);
MessageBox.Show("اطلاعات با موفقیت ذخیره شد");

omid_Ahmadi
شنبه 01 مهر 1385, 21:22 عصر
خوب این کد خیلی ایراد داره، اول اینکه شما دارید با استفاده از پارامتر ها یه دستور UPDATE ایجاد می کنید، بعد دستور رو با استفاده از ExecuteNonQuery اجرا می کنید. حالا که دستور رو اجرا کردید، می خواهید با Adapter بانک رو آپ دیت کنید. شما یا باید از Apadter و CommandBuilder استفاده کنید یا باید از پارامترها استفاده کنید.