PDA

View Full Version : چه جوری می شه اطلاعاتو داخل خود dataGrid درج یا به روز رسانی کرد؟



rahil_2008
دوشنبه 01 تیر 1388, 00:16 صبح
سلام
می خواستم ببینم کسی می دونه چه جوری می شه اطلاعاتو داخل خود dataGrid درج یا به روز رسانی کرد؟

ali_md110
دوشنبه 01 تیر 1388, 01:02 صبح
private DataTable dataTable1 = new DataTable();
private SqlConnection DbConnection1 = new SqlConnection();
private SqlDataAdapter DataAdapter1 = new SqlDataAdapter();
private void Action()
{
this.DbConnection1.ConnectionString = "Data Source=(local)\\sqlexpress;Initial Catalog=mydb;Integrated Security=True;Pooling=False";
this.DataAdapter1.SelectCommand = new SqlCommand("SELECT Field1, Field2 FROM Table1", this.DbConnection1);
this.DataAdapter1.Fill(this.dataTable1);
this.DataGridView1.DataSource = dataTable1;
this.DataAdapter1.UpdateCommand = new SqlCommand("UPDATE Table1 SET Field1 = @field1, Field2 = @field2 WHERE field1 = @field1", this.DbConnection1);
this.DataAdapter1.UpdateCommand.Parameters.AddWith Value("@field1", typeof(string)).SourceColumn = "Field1";
this.DataAdapter1.UpdateCommand.Parameters.AddWith Value("@field2", typeof(string)).SourceColumn = "Field2";
this.DataAdapter1.UpdateCommand.Parameters.AddWith Value("@field1", typeof(int)).SourceColumn = "field1";

درج رکورد
this.DataAdapter1.InsertCommand = new SqlCommand("INSERT INTO Table1 (Field1, Field2) VALUES (@field1, @field2)", this.DbConnection1);
this.DataAdapter1.InsertCommand.Parameters.AddWith Value("@field1", typeof(string)).SourceColumn = "Field1";
this.DataAdapter1.InsertCommand.Parameters.AddWith Value("@field2", typeof(string)).SourceColumn = "Field2";

حذف رکورد
this.DataAdapter1.DeleteCommand = new SqlCommand("DELETE FROM Table1 WHERE field1 = @field1", this.DbConnection1);
this.DataAdapter1.DeleteCommand.Parameters.AddWith Value("@field1", typeof(int)).SourceColumn = "field1";

this.DataAdapter1.Update(dataTable1);


}

rahil_2008
سه شنبه 02 تیر 1388, 09:30 صبح
سلام
از پاسختون ممنونم
من راه حل شما را برای به روز رسانی امتحان کردم البته update می کرد اما بعد از 2بار کلیک کردن دکمه ی update (بار اول که دکمه را کلیک می کردم همان اطلاعات پیش از به روز رسانی را نمایش می داد).
ضمن اینکه با هربار کلیک دکمه اطلاعات قبلی را هم در دیتا گرید نمایش می داد یعنی مثلا با 4 بار کلیک دکمه، 4 بار کل جدول را در دیتاگرید نمایش می دهد.

لطفا راهنماییم کنید
متشکرم

asefy2008
سه شنبه 02 تیر 1388, 16:48 عصر
سلام اگه گریدت به پایگاه داده متصل هست نمی تونی درج کنی مگر به صورت دستی.(منظورم مستقیما از طریق گرید هست)
موفق باشی

NewFoxStudent
سه شنبه 02 تیر 1388, 16:54 عصر
این لینک رو ببین
کامل توضیح دادم با استفاده از DataAdapter و SqlCommandBuilder
http://www.barnamenevis.org/forum/showthread.php?t=162748&highlight=SqlCommandBuilder