PDA

View Full Version : دو سوال دیتابیسی



man4toman
سه شنبه 06 شهریور 1386, 08:31 صبح
با سلام
1.من با OLEDB به یه دیتابیس اکسس برناممو متصل کردم.
بکمک کد زیر محتویات یک کوئری تو تیبل ID حذف میکنم. حالا اگه بخوام کل محتویات داخلی تیبل ID رو حذف کنم کد باید چه تغییری بکنه؟؟


string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\DB.mdb";

OleDbConnection myConnection = new OleDbConnection(connectionString);
myConnection.Open();

int Name1 = int.Parse(textBox5.Text);
string query = "delete from EMPLOYEE_TABLE where ID = " + Name1;

OleDbCommand myCommand = new OleDbCommand();
myCommand.CommandText = query;
myCommand.Connection = myConnection;
myCommand.ExecuteNonQuery();

myConnection.Close();

MessageBox.Show("Deleted.");




2.وقتی من توی بانک برنامه تغییری ایجاد میکنم تا وقتی برنامه یکبار بسته و دوباره باز نشه تغییرات رو توی دیتاگریدویو نشون نمیده. چجوری میتونم تغییرات رو بصورت آنی ببینم؟ یا مثلا چجوری با زدن یک دکمه دیتاگریدویو رو ریفرش کنم و تغییرات رو ببینم؟

gomnam
سه شنبه 06 شهریور 1386, 09:26 صبح
اگه منظورت را درست متوجه شده باشم جواب سوالاتت اینه



حالا اگه بخوام کل محتویات داخلی تیبل ID رو حذف کنم کد باید چه تغییری بکنه؟



خط 5 را اینطوری تغییر بده اونوقت کل اطلاعات جدول حذف میشه



string query = "delete EMPLOYEE_TABLE"





قتی من توی بانک برنامه تغییری ایجاد میکنم تا وقتی برنامه یکبار بسته و دوباره باز نشه تغییرات رو توی دیتاگریدویو نشون نمیده. چجوری میتونم تغییرات رو بصورت آنی ببینم؟ یا مثلا چجوری با زدن یک دکمه دیتاگریدویو رو ریفرش کنم و تغییرات رو ببینم؟



راه حل های زیادی داره
ساده ترینش اینه
بعد از حذف کردن ها و اعمال کارهایی که میکنید دوباره خاصیت dataSource مربوط به گرید را ست کنید

man4toman
سه شنبه 06 شهریور 1386, 10:03 صبح
خط 5 را اینطوری تغییر بده اونوقت کل اطلاعات جدول حذف میشه

string query = "delete EMPLOYEE_TABLE"

تو موقع انجام عملیات ارور میده و کاری انجام نمیده.



راه حل های زیادی داره
ساده ترینش اینه
بعد از حذف کردن ها و اعمال کارهایی که میکنید دوباره خاصیت dataSource مربوط به گرید را ست کنید
-اگه بخوام با کلیک یه دکمه بصورت دستی تغییرات رو اعمال کنم و ببینم چیکار باید بکنم؟؟

__H2__
سه شنبه 06 شهریور 1386, 10:51 صبح
سلام
اگر منظور حذف کل اطلاعات داخل است و نه باقی ماندن جدول اصلی
کافیست در همان دستور خودتان شرط where به بعد را حذف کنید تا دیگر فیلتری در کار نباشد و همه از دم حذف شوند.

اَرژنگ
سه شنبه 06 شهریور 1386, 10:54 صبح
string query = "delete from EMPLOYEE_TABLE"

man4toman
سه شنبه 06 شهریور 1386, 11:54 صبح
در این مورد کسی نظری نداره؟


وقتی من توی بانک برنامه تغییری ایجاد میکنم تا وقتی برنامه یکبار بسته و دوباره باز نشه تغییرات رو توی دیتاگریدویو نشون نمیده. چجوری میتونم تغییرات رو بصورت آنی ببینم؟ یا مثلا چجوری با زدن یک دکمه دیتاگریدویو رو ریفرش کنم و تغییرات رو ببینم؟

MH2538
پنج شنبه 08 شهریور 1386, 08:33 صبح
سلام
شما باید برای اینکار یکبار دیتاستت رو refresh کنی.
نیازی نیست برنامه ات رو ببندی.
کافیه که دیتاسست رو Clear کنی و بعد اون رو مجدداً Fill کنی.
فقط باید حتماً قبل از Fill دیتاست رو Clear کنی.

man4toman
پنج شنبه 08 شهریور 1386, 10:49 صبح
اینهم جواب سوال دوم که خودم پیداش کردم:


this.eMPLOYEE_TABLETableAdapter.Fill(this.dBDataSe t.EMPLOYEE_TABLE);
dataGridView1.Refresh();