PDA

View Full Version : سوال: خطا در هنگام حذف یک ردیف از dgv



c-sharp_South
چهارشنبه 27 شهریور 1392, 14:20 عصر
سلام خدمت همه ی دوستان. در یک پروژه رویداد حذف من این است:


OleDbCommand command = new OleDbCommand();
if (dataGridView1.SelectedCells.Count != 0)
{
if (MessageBox.Show("Are You Sure To Remove?", "Remove?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
try
{
string m_sub = "";
string s_sub = "";
m_sub = dataGridView1.CurrentRow.Cells["m_sub"].Value.ToString();
s_sub = dataGridView1.CurrentRow.Cells["s_sub"].Value.ToString();
con = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0 ;" + @"data source=" + Application.StartupPath + "/dbs.mdb");
con.Open();
string query = "DELETE FROM zirna WHERE m_sub=@p1 AND s_sub=@p2";
command = new OleDbCommand();
command.Parameters.AddWithValue("@p1", m_sub);
command.Parameters.AddWithValue("@p2", s_sub);
command.CommandText = query;
command.Connection = con;
command.ExecuteNonQuery();
con.Close();
command.Dispose();
load();
}
catch { }
}
}
}


رویداد حذف فکر نکنم مشکلی داشته باشه. مشکل در قسمت load(); است.

load:



private void load()
{
try
{
con.ConnectionString = @"provider=microsoft.jet.oledb.4.0;" + @"data source=" + Application.StartupPath + "/dbs.mdb";
con.Open();
ds.Tables.Add(dt);
da = new OleDbDataAdapter("SELECT * from zirna", con);
da.Fill(dt);
dataGridView1.DataSource = dt.DefaultView;
}

catch (Exception error) { MessageBox.Show("FOUT:" + error.Message); }
}


هنگام حذف کردن این خطا رو میگیرم:

http://up.behtarin.com/uploads/ef1764cdfa1.png

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

amir200h
چهارشنبه 27 شهریور 1392, 14:24 عصر
فکر کنم شما دیتاستتو سراسری تعریف کردی. قبل از اینکه کدهای فرم لودت یه بار خالیش کن بعد دوباره پرش کن شاید درست شد
dt.clear();
یا
dt.rows.clear();

c-sharp_South
چهارشنبه 27 شهریور 1392, 17:18 عصر
متاسفانه کد جواب نداد . فقط تمام ردیف ها رو پاک میکنه و بعد از اون connection عمل نمیکنه و اطلاعات نمایش داده نمیشوند.