PDA

View Full Version : سوال: چگونه بعد از ثبت داده ها در دیتابیس محتویات دیتا گرید را بروزرسانی کنم؟



farshadvl
شنبه 08 اسفند 1388, 17:24 عصر
با سلام
من یک فرمی دارم که محتویات چندتا تکست باکس را از طریق دستورات t-sql در دیتابیس ذخیره میکنم
یک دیتاگرید هم برای نمایش انها در پاین فرم قرار دادم مشکل من اینجاست که داده ها بعد از ثبت را نمیدانم چطوری در دیتاگرید نمایش دهم برای نمایش اونها باید فرم را ببندم دوباره باز کنم تا در دیتاگرید نمایش یابد
چجوری میشه دستوری نوشت که بعد از ثبت داده محتویات دیتاگرید بروزرسانی شوند؟

hakelberfin
شنبه 08 اسفند 1388, 17:47 عصر
شما تابعی برای پرکردن DataGridView داریدمثلا FillDataGridView . که اون رو در ابتدا جهت نمایش اطلاعات در DataGridView فراخوانی می کنید.
بعد از کدی که عمل اضافه یا ویرایش یا حذف یک رکورد رو انجام میده این تابع رو مجددا فراخوانی کنید

csharpprogramer88
شنبه 08 اسفند 1388, 20:12 عصر
شما تابعی برای پرکردن DataGridView داریدمثلا FillDataGridView . که اون رو در ابتدا جهت نمایش اطلاعات در DataGridView فراخوانی می کنید.
بعد از کدی که عمل اضافه یا ویرایش یا حذف یک رکورد رو انجام میده این تابع رو مجددا فراخوانی کنید

سلام
يعني ميخواي بگي دوباره بايد يه دستور سلكت را اجرا كنيم آيا اين كار درسته يا نه فقط يك جواب سريعه

navid1n2000
شنبه 08 اسفند 1388, 20:41 عصر
dataGridView1.Refresh()

همين

farshadvl
یک شنبه 09 اسفند 1388, 09:38 صبح
dataGridView1.Refresh()
همين

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

در ضمن صحبت های دوست عزیزم hakelberfin باید بگم که من اطلاعات دیتاگرید را با ویزارد خودش درون آن قرار دادم و کد نویسی نیست

با کدنویسی بلدم این کارو بکنم اما میخواهم بدونم خود دیتاگرید دستوری نداره که دیگه نخواد یک دستور سلکت نوشت؟؟؟

cimiarnm
دوشنبه 10 اسفند 1388, 00:46 صبح
کسی جواب ما را نداره؟؟؟
با قطعیت نمیدونم ولی فکر نکنم اونی که شما میخواهین وجود داشته باشد ولی دیتا گرید ویو یه خاصیتی داره بنام datasource و databinding و datamember اگه رو اینها کار کنی فکر کنم بتونی به جوابت برسی . در واقع میتونی برای دیتا گرید خودت یه منبع داده معرفی کنی و بگی که اطلاعات خودش رو از اون بگیره ( راحت بگم از پایگاه داده خودت یک دیتاست باید تهیه کنی و اونو به عنوان ورودی به دیتا گرید بدی ) حالا با آپدیت کردن دیتاست خودت و رفرش کردن دیتا گرید میتونی ازلاعات انرا بروز کنی البته خواندن اطلاعات از پایگاه داده الزامی است ( که چون کمی قبل بهش دسترسی داشتی خیلی سریع اطلاعات ازش لود میشن) یه راهم برای اینکه به قول خودت از دستور select استفاده نکنی و اون اینه که dataset خودت رو تو برنامه همزمان با اعمال تغییرات در پایگاه داده و تغییرات لازم رو روش انجام بدی ( با مثلا مقدار دهی دوباره مقادیر عوض شده و یا حذف مقادیر حذف شده و ..) بعد دیتاست آپدیت شده رو روی دیتاگرید اعمال کنی

saba106
دوشنبه 10 اسفند 1388, 01:12 صبح
من همیشه بعد از به روز رسانی و دستورات دیگه از تابعی استفاده می کنم که شاید به دردتون بخوره

SqlDataAdapter da = null;
da = new SqlDataAdapter("select * from book", con);
DataSet ds = new DataSet();
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.MultiSelect = false;
con.Open();
da.Fill(ds, "book");
con.Close();
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "book";

daivid_ d31r1
دوشنبه 10 اسفند 1388, 12:00 عصر
سلام
بعد از نوشتن دستورات ذخیره داده ها میتونی این کد رو بنویسی:

()ds.clear
connection.open()
;"string str="select * from table_name
; (dataadapter=new dataadapter(str,connection
;("dataadapter.fill( ds,"d31r1
["datagridview.datasorce=ds.table["d31r1
;

daivid_ d31r1
دوشنبه 10 اسفند 1388, 12:01 عصر
():چشمک:connection.close

hakelberfin
دوشنبه 10 اسفند 1388, 15:02 عصر
يعني ميخواي بگي دوباره بايد يه دستور سلكت را اجرا كنيم آيا اين كار درسته يا نه فقط يك جواب سريعه

من در ابتدا DataGridView رو با یه تابعی بنام FillDataGridView پر میکنم و بعد از هر عمل Insert و Edit و Delete اون تابع دوباره فراخوانی میکنم.
در این برنامه از این روش استفاده شده

mehdi zanjani
دوشنبه 29 آذر 1389, 09:38 صبح
سلام به همگی راه حل ساده تری هم برای چیزی که دوستمون می خواد هست که هم تو کد ADO کار میکنه هم تو LINQ امتحانش کنید!!!


YourtableBindingSource.EndEdit();
YourtableTableAdapter.Fill(YourDataset.Yourtable);


امتحان کنید!!!

immortal1990
چهارشنبه 01 دی 1389, 17:19 عصر
سلام این راه حل خیلی ساده تره

PhoneTabelAdapter.Fill (telePhoneDataSet.Phone)


که اسم دیتابیس منTelePhone
و جدولشمPhone

هر جا خواستی بزار استفاده کن:لبخند::لبخند::لبخند:

ghame_ziba
شنبه 18 آذر 1391, 11:16 صبح
من با این کد دیتا گریدمو وصل میکنم به دیتا بیس
همه ی کدهایی رو که دوستام گفتند رو امتحان کردم
امما جوابی حاصب نشد
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand();
da.SelectCommand.CommandText = "select * from cooperation order by cooperation_id";
da.SelectCommand.Connection = con;
DataSet ds = new DataSet();
con.Open();
da.Fill(ds, "cooperation");
con.Close();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "cooperation";

patrick5053
یک شنبه 19 آذر 1391, 08:04 صبح
شما بايد تيبل آداپترت رو آپديت كني بعد از دستورات دوستان استفاده كن.
this.ashkhasTableAdapter.Fill(this.scaleDataSet.as hkhas);
من در اينجا آداپتر تيبل اشخاص رو آپديت كردم.
scale هم نام بانك اطلاعاتم هست.
موفق باشي.

patrick5053
یک شنبه 19 آذر 1391, 08:08 صبح
اين كد رو به از دستورات ثبت قرار بده يعني بعد از دستور executenonquery .