I want to delete a row from the Database on a selected row in my Datagrid I already got how to select a row in my Datagrid, but when I delete it on button_click it only deletes it in my Datagrid but not in my actual Database
I'm using the following code to delete my Rows:
private void btnDeleteUser_Click(object sender, RoutedEventArgs e)
{
DialogResult dr = System.Windows.Forms.MessageBox.Show("Do You Want to Delete this User?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (dr == DialogResult.Yes)
{
var query =
from t in db.tbl_Users
where t.Name == name
select t;
foreach (var t in query)
{
db.tbl_Users.DeleteOnSubmit(t);
}
db.SubmitChanges();
var refresh =
(from q in db.tbl_Users
select new { Name = q.Name, Rights = q.Rights, Operatortag = q.Operatortag, Active = q.Active, Cardcode = q.CardCode }).ToList();
dgUsers.ItemsSource = refresh;
}
}
My Database-property is set on Copy If Newer and I already tried to set in to Copy Always but that wouldn't help either.
Does someone know the answer to my problem?
You have to call .ToList() hope it will help
var items = query.ToList();
foreach (var item in items)
{
db.tbl_Users.DeleteOnSubmit(item);
}
or you can use DataContext
List<GroupMember> removeFromGroup = (from gm in dataContext.GroupMembers
where (gm.memberID == memberid))
select gm).ToList();
dataContext.GroupMembers.DeleteAllOnSubmit(removeFromGroup);
dataContext.SubmitChanges();
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.