PDA

View Full Version : مشکل در data grid view



javad_r_85
دوشنبه 20 اردیبهشت 1389, 09:42 صبح
با سلام .من می خواهم در dita grid view زمانی که یک رکورد را اضافه میکنم با کلیک بر روی دکمه addاین سطر به جدولم افزوده شود.لطفا به من کمک کنید.

RIG000
دوشنبه 20 اردیبهشت 1389, 10:05 صبح
با سلام .من می خواهم در dita grid view زمانی که یک رکورد را اضافه میکنم با کلیک بر روی دکمه addاین سطر به جدولم افزوده شود.لطفا به من کمک کنید.


//Add Button
private void button1_Click(object sender, EventArgs e)
{
adapter = new OleDbDataAdapter("SELECT * FROM myTable", connection);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);
OleDbCommand cmdAdd = cb.GetInsertCommand();

cmdAdd.Parameters[0].Value = txtText.Text;
cmdAdd.Parameters[1].Value = int.Parse(txtPrice.Text);

try
{
connection.Open();
cmdAdd.ExecuteNonQuery();

}
catch (Exception error)
{
MessageBox.Show(error.Message);

}
finally
{
connection.Close();
btnShow_Click(null, null);
}



}

private void btnSave_Click(object sender, EventArgs e)
{

adapter = new OleDbDataAdapter("SELECT * FROM myTable", connection);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter);


try
{
connection.Open();
adapter.Update(dt);
MessageBox.Show("Data SuccessFully Saved.","SimpleDBWork",MessageBoxButtons.OK);
}
catch (Exception error)
{

MessageBox.Show(error.Message);
}
finally
{
connection.Close();
}

}

private void btnFind_Click(object sender, EventArgs e)
{
adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand("SELECT * FROM myTable WHERE Price = @price",connection);
adapter.SelectCommand.Parameters.AddWithValue("@price", int.Parse(txtSearch.Text));
dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;

}
الگو برداری

javad_r_85
دوشنبه 20 اردیبهشت 1389, 10:15 صبح
ممنون از اینکه پاسخ دادید ولی من نمی خواهم با قرار دادن تکست باکس در فرم واینکه اطلاعات را از این تکست باکسها بگیرم وبه جدولم اضافه کنم یعنی من میخوام با data grid view کار کنم و کدی بنویسم که تشخیص دهد یک سطر به جدولم افزوده شده و آن را در دیتا بیسم ذخیره کند.یا این که تغیرات دیتا ست را به دیتا بیس منقل نمایید

javad_r_85
سه شنبه 21 اردیبهشت 1389, 10:05 صبح
باالاخره با کلی کلنجار تونستم این مشکلا حل کنم من یه دکمه اضافه کردم که با کلیک بر رو ی اون سطر جدید در دیتا گرید در بانک اطلاعاتی ذخیره شد.با افزودن این کد به ای دکمه


objdataadapter = new SqlDataAdapter("insert into table (field1,field2,field3) values (@field1,@field2,@field3)", objconnection);

objdataadapter.SelectCommand.Parameters.AddWithVal ue("@field1", datagridview1.CurrentRow.Cells[index field].Value.ToString() );

objdataadapter.SelectCommand.Parameters.AddWithVal ue("@field2", datagridview1.CurrentRow.Cells[index field].Value.ToString() );

objdataadapter.SelectCommand.Parameters.AddWithVal ue("@field3", datagridview1.CurrentRow.Cells[index field].Value.ToString() );


objdataadapter.fill(dataset,"table"); //aj



توجه داشته باشید که فیلدهای من از نوع استرینگ بودند و من از متد to string () استفاده کردم.و این که این دستورات یک رکورد به بانک اطلاعات من افزود ولی اکنون نمیتونم اونا در دیتا گرید ویو ببینم برای این کار باید چند خط کد دیگه بهش اضافه کنید.

حالا چند سوال دیگه دارم:
یکی اینکه این دستورات را درکجا قرار دهم تا وقتی به انتهای سطر رسیدم و اینتر را فشار دادم این سطر ذخیره شود.

2-از آنجایی که تغییرات من در جدول را بطه مستقیم با دیتا ستم دارد چگونه دستوری بنویسم که بانک اطلاعاتیم این تغیرات را در خود ذخیره کند .مانند زمانی که فرما میبندم.


از استادان گرامی تقاضا میکنم لطفا مرا راهنمایی کنند.
با تشکر.