【发布时间】:2017-03-14 08:08:55
【问题描述】:
我想在我的 Datagrid 中的选定行上从数据库中删除一行 我已经知道如何在我的 Datagrid 中选择一行,但是当我在 button_click 上删除它时,它只会在我的 Datagrid 中删除它,而不是在我的实际数据库中
我正在使用以下代码删除我的行:
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;
}
}
我的数据库属性设置为 Copy If Newer,我已经尝试设置为 Copy Always,但这也无济于事。
有人知道我的问题的答案吗?
【问题讨论】:
-
'Copy If Newer' 是正确的选择,请尝试在没有调试器/Visual Studio 的情况下运行应用程序本身。
-
这不行@LeiYang
-
如果您逐步调试代码,“查询”是否有值或为空?
-
不,已经填满了@chillfire
-
您是否使用 LinqDataAdapter 来填充数据网格?
标签: c# wpf linq linq-to-sql