bahane274
سه شنبه 12 مرداد 1389, 23:04 عصر
سلام دوستان ! من یه مشکلی دارم.
وقتی که در C# دستور زیر را برای اتصال DataGridView به DataBase می نویسم و دکمه Delete یا Edit رامیزنم،تغییرات موردنظر (مثلا حذف یک رکورد) به DataGridView اعمال نمیشه (مگر اینکه فرمم را که فرم فرزنده ببندم و دوباره باز کنم ) البته همانطور که پیداست توی SqlServer این تغییرات انجام میشه.
privatevoid Form1_Load(object sender, EventArgs e)
{
string strcon = "server=.;database=Amlak;integrated security=true";
SqlConnection con = newSqlConnection(strcon);
con.Open();
string sql="select * from Sepordeha Where Baygani='False'";
SqlDataAdapter dap = newSqlDataAdapter(sql,con);
dap.Fill( ds,"Sepordeha" );
dataGridView1.DataBindings.Clear();
dataGridView1.DataBindings.Add(newBinding("Datasource", ds, "sepordeha"));
dataGridView1.DataBindings.Clear();
و کد Delete را هم به این صورت نوشتم :
dataGridView1.ReadOnly = false;
dataGridView1.AllowUserToDeleteRows = true;
string strcon = "server=.;database=Amlak;integrated security=true";
SqlConnection con = newSqlConnection(strcon);
con.Open();
string sn;
SqlCommand cmd = newSqlCommand();
string sqlDel;
sn = dataGridView1.CurrentRow.Cells[0].Value.ToString();
sqlDel = "Delete FROM sepordeha WHERE ShomareRadif=" + sn;
cmd.CommandText = sqlDel;
cmd.Connection = con;
cmd.ExecuteNonQuery();
البته وقتی دیتا گریدمو به صورت ویزاردی به دیتا بیس وصل می کنم ، مشکلی پیش نمی یاد اما من نمی خوام همه رکورد های جدولمو نشون بدم بلکه می خوام شرط Where Baygani='False' اعمال شود.
در حالت ویزاردی در Form_Load می نویسم :
this.sepordehaTableAdapter1.Fill(this.amlakDataSet 1.sepordeha);
من میخوام همراه با اعمال این شرط دکمه های حذف و ویرایش هم درست کار کنه.
لطفا راهنماییم کنید. بد جوری گیر کردم.
وقتی که در C# دستور زیر را برای اتصال DataGridView به DataBase می نویسم و دکمه Delete یا Edit رامیزنم،تغییرات موردنظر (مثلا حذف یک رکورد) به DataGridView اعمال نمیشه (مگر اینکه فرمم را که فرم فرزنده ببندم و دوباره باز کنم ) البته همانطور که پیداست توی SqlServer این تغییرات انجام میشه.
privatevoid Form1_Load(object sender, EventArgs e)
{
string strcon = "server=.;database=Amlak;integrated security=true";
SqlConnection con = newSqlConnection(strcon);
con.Open();
string sql="select * from Sepordeha Where Baygani='False'";
SqlDataAdapter dap = newSqlDataAdapter(sql,con);
dap.Fill( ds,"Sepordeha" );
dataGridView1.DataBindings.Clear();
dataGridView1.DataBindings.Add(newBinding("Datasource", ds, "sepordeha"));
dataGridView1.DataBindings.Clear();
و کد Delete را هم به این صورت نوشتم :
dataGridView1.ReadOnly = false;
dataGridView1.AllowUserToDeleteRows = true;
string strcon = "server=.;database=Amlak;integrated security=true";
SqlConnection con = newSqlConnection(strcon);
con.Open();
string sn;
SqlCommand cmd = newSqlCommand();
string sqlDel;
sn = dataGridView1.CurrentRow.Cells[0].Value.ToString();
sqlDel = "Delete FROM sepordeha WHERE ShomareRadif=" + sn;
cmd.CommandText = sqlDel;
cmd.Connection = con;
cmd.ExecuteNonQuery();
البته وقتی دیتا گریدمو به صورت ویزاردی به دیتا بیس وصل می کنم ، مشکلی پیش نمی یاد اما من نمی خوام همه رکورد های جدولمو نشون بدم بلکه می خوام شرط Where Baygani='False' اعمال شود.
در حالت ویزاردی در Form_Load می نویسم :
this.sepordehaTableAdapter1.Fill(this.amlakDataSet 1.sepordeha);
من میخوام همراه با اعمال این شرط دکمه های حذف و ویرایش هم درست کار کنه.
لطفا راهنماییم کنید. بد جوری گیر کردم.