
نوشته شده توسط
*Ashrafi*
سلام
ممنون از پاسختون دوست عزیز
اما از خط آخر
cmd2.Dispose();
error می گیره اما اونم که جاش را تغییر دادم بازم همون خطا دفعه پیش را می دهد متاسفانه

خطا به خاطر این هست که cmd2 در بلاک try تعریف شده و در بلاک finally معتبر نیست. به این صورت اصلاح کنید OleDbCommand cmd2;
if (txtid.Text=="")
{
try
{
cmd2 = new OleDbCommand("insert into tblContact(FirstName,LastName,Phone,Mobile,Address ) VALUES(@FirstName,@LastName,@Phone,@Mobile,@Addres s)", myconnection);
cmd2.Parameters.AddWithValue("@FirstName", txtName.Text.Trim());
cmd2.Parameters.AddWithValue("@LastName", txtFamily.Text.Trim());
cmd2.Parameters.AddWithValue("@Phone", txtPhone.Text.Trim());
cmd2.Parameters.AddWithValue("@Mobile", txtMobile.Text.Trim());
cmd2.Parameters.AddWithValue("@Address", txtAddress.Text.Trim());
myconnection.Open();
cmd2.ExecuteNonQuery();
myconnection.Close();
MessageBox.Show("!داده ها با موفقیت ثبت شد", "ثبت داده");
}
catch (Exception err)
{
MessageBox.Show("عملیات انجام نشد" + err.Message, "خطا", MessageBoxButtons.OK);
}
finally
{
cmd2.Dispose();
myconnection.Close();
}
}
else
{
try
{
cmd2 = new OleDbCommand("UPDATE tblContact set FirstName=@FirstName,LastName=@LastName,Phone=@Pho ne,Mobile=@Mobile,Address=@Address where IdContact=@IdContact", myconnection);
cmd2.Parameters.AddWithValue("@IdContact", Convert.ToInt32(txtid.Text.Trim()));
cmd2.Parameters.AddWithValue("@FirstName", txtName.Text.Trim());
cmd2.Parameters.AddWithValue("@LastName", txtFamily.Text.Trim());
cmd2.Parameters.AddWithValue("@Phone", txtPhone.Text.Trim());
cmd2.Parameters.AddWithValue("@Mobile", txtMobile.Text.Trim());
cmd2.Parameters.AddWithValue("@Address", txtAddress.Text.Trim());
myconnection.Open();
cmd2.ExecuteNonQuery();
MessageBox.Show("عملیات انجام شد", "کاربر گرامی", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.tblContactTableAdapter.Fill(this.databaseCont actDataSet.tblContact);
}
catch (Exception err)
{
MessageBox.Show("عملیات انجام نشد" + err.Message, "خطا", MessageBoxButtons.OK);
}
finally
{
cmd2.Dispose();
myconnection.Close();
}
}