مشکل این کد برای حذف ردیفی از اطلاعات از بانک اکسس
سلام دوستان...من برای حذف یک ردیف از بانک اکسس از کد زیر استفاده می کنم...ولی به جای حذف کردن ردیف انتخاب شده کل ردیف ها رو پاک می کنه...مشکلش چیه؟
if (dataGridView1.SelectedCells.Count != 0)//tedade cell hayi ke select shodan
{
if (MessageBox.Show("آیا مطمئن هستید؟", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{}
string a=datagridview1.selectedrows.tostring();
con.Open();
string query = "DELETE a FROM ketab "] + "')";
OleDbCommand command = new OleDbCommand();
command.CommandText = query;
command.Connection = con;
command.ExecuteNonQuery();
con.Close();
load();
MessageBox.Show("با موفقیت حذف شد ", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
نقل قول: مشکل این کد برای حذف ردیفی از اطلاعات از بانک اکسس
سلام دوست من
دوست عزیز بهتره جای اینه چند فیلد رو پاس بدی تا یک کتاب رو حذف کنه یه شناسه یکتا از کتاب رو بدی تا براساس اون کتاب مورد نظرتو حذف کنه مثل کد کتاب,شابک,بارکد و ...
برای حذف یک ردیف که توسط کاربر انتخاب شده از کد زیر میتونی استفاده کنی :
private void btn_del_Click(object sender, EventArgs e)
{
int row = dataGridView1.CurrentRow.Index;
DialogResult dlg=MessageBox.Show("آیا دل استوارید که پاک شود؟","حذف",MessageBoxButtons.YesNo,Message BoxIcon.Question);
if (dlg == DialogResult.Yes)
{
sqlcnn.Open();
sqlcmd.Connection = sqlcnn;
sqlcmd.CommandText = "delete from ketabs where Bid=" + long.Parse(dataGridView1.Rows[row].Cells[0].Value.ToString());
sqlcmd.ExecuteNonQuery();
Form1_Load(sender, e);
}
}
برای حذف همه ردیف هایی که انتخاب شدن(مثلا کاربر تو دیتاگرید 3تا ردیف رو انتخاب کرده که حذف شن):
private void btn_delSelected_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count != 0)
{
DialogResult dlg = MessageBox.Show("آیا دل استوارید که پاک شود؟", "حذف", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
sqlcnn.Open();
if (dlg == DialogResult.Yes)
{
foreach (DataGridViewRow rows in dataGridView1.Rows)
{
if (rows.Selected == true)
{
sqlcmd.Connection = sqlcnn;
sqlcmd.CommandText = "delete from ketabs where Bid=" + long.Parse(rows.Cells[0].Value.ToString());
sqlcmd.ExecuteNonQuery();
}
}
sqlcnn.Close();
Form1_Load(sender, e);
}
}
}
موفق باشی
بایت بایت
نقل قول: مشکل این کد برای حذف ردیفی از اطلاعات از بانک اکسس
در این کد :
qlcmd.CommandText = "delete from ketabs where Bid=" + long.Parse(dataGridView1.Rows[row].Cells[0].Value.ToString());
Bid چیه؟
نقل قول: مشکل این کد برای حذف ردیفی از اطلاعات از بانک اکسس
با سلام مجدد
Bid نوشته شده من مخفف BookID بود شما میتونین BID رو هرجیزی در نظر بگیرین اما از نظر من یا کد کتاب باشه یا شابک یا بارکد کتاب,چون این 3شناسه یکتا هستن.
موفق باشی
بایت بایت
نقل قول: مشکل این کد برای حذف ردیفی از اطلاعات از بانک اکسس
ممنون یونس جون...من از کد شما استفاده نکردم ولی کد شما جرقه ای در ذهنم ایجاد کرد و از کد زیر استفاده کردم :
if (MessageBox.Show("آیا مطمئن هستید", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
con.Open();
string query = "DELETE FROM ketab WHERE (F='" + dataGridView1.CurrentRow.Cells[0].Value + "' AND A='" + dataGridView1.CurrentRow.Cells[1].Value + "' and B='" + dataGridView1.CurrentRow.Cells[2].Value + "'and C='" + dataGridView1.CurrentRow.Cells[3].Value + "'and D='" + dataGridView1.CurrentRow.Cells[4].Value + "')";
OleDbCommand command = new OleDbCommand();
command.CommandText = query;
command.Connection = con;
command.ExecuteNonQuery();
con.Close();
}
load();
MessageBox.Show("با موفقیت حذف شد ", "", MessageBoxButtons.OK, MessageBoxIcon.Information);