PDA

View Full Version : مشكل عجيب دز ذخيره اطلاعات



alasht
چهارشنبه 09 تیر 1389, 17:41 عصر
با سلا
بالاخره بعد از كلي دردسر تونستنم ديتابيس رو به برنامم وصل كنم و اطلاعات رو توش ذخيره كنم ولي يه مشكل عجيب دارم اونم اينه كه وقتي رو دكمه ذخيره كليك مي كنم يهو 11 تا جدول با هم پر ميشه يعني من وقتي اطلاعات رو وارد كردم و رو دكمه ذخيره كليك ميكنم اون اطلاعت 11 تا جدولو پر ميكنه و 11 تا اطلاعات تكراري ثبت ميشه
خواهشا بگيد مشكل چيه :گریه:

mbsmbsmbs
چهارشنبه 09 تیر 1389, 17:48 عصر
اگه برنامت بذاری بهتر می تونم جوابتون رو بدم
اما فکر کنم اگه موقع نمایش دادن تو دیتا گرید این طوری میشه احتمالا دیتا ست رو خالی نکردید

alasht
چهارشنبه 09 تیر 1389, 18:01 عصر
سلام
دوست عزيز نميتونم برنامه رو بزارم چون نبايد پخش بشه
ديتا ست رو چطوري بايد خالي كنم ؟

mbsmbsmbs
چهارشنبه 09 تیر 1389, 18:48 عصر
اگه توی بانکت اطلاعاتت درست درج میشه (یعنی یه رکورد درج میشه) ولی موقع نمایش توی گرید چندین رکورد نشون داده میشه احتمالا دیتا ست اطلاعات قبلی رو هم نشون میده که باید خالیش کنید.
مثال :

DataSet DSStudent = new DataSet();
DSStudent.Clear()
البته امیدوارم درست متوجه منظورتون شده باشم

alasht
چهارشنبه 09 تیر 1389, 18:55 عصر
ممنون فعلا برنامم خراب شدخ تست نكردم
نگاه كنيد وقتي ذخيره رو ميزنم اينطوري ميشه

http://up.iranblog.com/Files/34d79ffc42314c3fa9f4.jpg

ببينيد چقدر تكرار شده اين تكرار 11 مرتبه انجام ميشه ؟
آيا همونيه كه گفتيد يا چيز ديگست ؟

mbsmbsmbs
چهارشنبه 09 تیر 1389, 18:59 عصر
اگه این تصویر بانک تو اکسس باشه ربطی به دیتا ست نداره اما اگه از دیتا گرید درون برنامتون باشه احتمالا همینه

mbsmbsmbs
چهارشنبه 09 تیر 1389, 19:15 عصر
اینم یه نمونه ساده که واست ضمیمه کردم
ذخیره میکنه تو بانک و نشون میده

alasht
پنج شنبه 10 تیر 1389, 00:40 صبح
سلام
ممنون از زحمات فراوانتون
یک سوال برام پیش اومده این کد تو برنامه ای که نوشتین هست


//Display
da.SelectCommand.CommandText = "Select * From St";
ds.Clear();
da.Fill(ds, "t1");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "t1";

به این قسمت توجه کنید

dataGridView1.DataMember = "t1";

سوالم اینه که "t1" چیه ؟
با تشکر

mbsmbsmbs
پنج شنبه 10 تیر 1389, 09:56 صبح
t1 جدولی در DataSet است که داده های واکشی شده از بانک در این جدول از حافظه قرار میگیرد.
T1 را هم در دستور

da.Fill(ds, "t1");
مشخص میکنیم.