PDA

View Full Version : سوال: مشكل در ذخيره اطلاعات تغيير داده شده DataGride View در بانك اطلاعات



Programmer 1
سه شنبه 14 مهر 1388, 05:09 صبح
سلام ،
فرم های زیر را در نظر بگیرید


http://img2.tinypic.info/files/r38clwljgp9jttsacc5s.png
http://www.gigaimage.com/images/ypy2sc8dqshcg5nn6rc9.png

من در رويداد لود فرم اول ،‌ دستورات اتصال به بانك اطلاعات را نوشته ام و به هنگام اجرا بدون هيچ خطايي اطلاعات در DataGridView نمايش داده مي شود ، در هنگام كليك بر روي دكمه افزودن نيز اطلاعات وارد شده به درستي وارد شده و در جدول نمايش داده مي شوند ، كد مربوط به دكمه ذخيره تغييرات هم اين است كه براي به روز رساني بانك اطلاعات است :


da.Update(ds,"List");


( da شي اي از نوع DataAdapter است و ds یک دیتاست است )

اگر دكمه ذخيره تغييرات زده نشود اطلاعات موجود در ديتا ست در بانك اطلاعاتي ذخيره نمي شود ، حال مشكلي كه هست اين است كه با انجام تغييراتي در DataGridView و زدن دكمه ذخيره تغييرات ، از دستور بالا خطا گرفته مي شود و جالب اين جاست وقتي كه مثلا اطلاعات جديدي وارد مي شود و همان اطلاعات را در DataGridView تغيير دهيم و دكمه ذخيره تغييرات را بزنيم اطلاعات ويرايش شده به درستي ذخيره مي شود ولی تغییر دادن سایر اطلاعات ثبت شده در جدول و زدن دکمه ذخیره تغییرات باعث بروز خطا می شود و خطا نیز از همان دستور بالا گرفته می شود ، مشكل كجاست ؟

با تشكر /.

mahdi_7610
سه شنبه 14 مهر 1388, 08:09 صبح
دوست عزیز نیازی به گذاشتن عکس به این صورت نیست . چون با ظاهر عکس که نمیشه چیزی فهمید .

شما بهتره کدهایی که نوشتید را اینجا بزارید تا بهتر بشه نظر داد .

اصلا مشخص نیست که کدهای شما به چه صورتی نوشته شده .

متن خطا را هم که نذاشتید تا متوجه شد مشکل از کجاست

alihassanabadi
سه شنبه 14 مهر 1388, 11:09 صبح
سلام
این روش ها رو انجام بده شاید درست شد
میتونی اولا از update استفاده کنی بعد اطلاعات رو توسط bindingsource نمایش بدی
آپدیت


SqlDataAdapter ad = newSqlDataAdapter("update tblname set fieldname='value', connectionstring);
DataSet ds = newDataSet();
ad.Fill(ds);
حالا توسط یه select و bindingsource اطلاعات رو نمایش بده


SqlDataAdapter adapter2 = new SqlDataAdapter("select *from tblname", "Data Source=(local);Initial Catalog=databasename;Integrated Security=True");
DataSet dataset1 = new DataSet();
adapter2.Fill(dataset1, "tblname");
BindingSource bs = new BindingSource(dataset1, "tblname");

dataGridView1.DataSource = bs

البته حر ف های جنابmahdi_7610 رو نادیده نگیر
___________________________________
دست هایی که کمک میکنند مقدس تر از لب هایی هستند که دعا میکنند.کوروش کبیر