我的WPF基于桌面的应用程序使用ADO .NET实体框架来连接到SQL Server数据库。在其中一个窗口中,我有一个DataGrid
,其中包含来自tbl_users
的所有数据,当用户选择其中一行(记录)并单击 Edit 时,应用程序将打开一个新窗口,其中包含用户可以编辑/更新的所有数据。
如何通过ADO .NET实体框架将表中某个值的更改(更新/编辑)保存到数据库?
以下是一些有助于了解情况的代码片段:
1 -编辑窗口构造器
public object objToBeEdited;
public WinWorkers_EditWorker(tbl_users userToBeEdited){
this.Title = Glidus.Properties.Resources.WinWorkers_EditWorker_WinName + Glidus.Properties.Resources.WinApp_WinName;
}
2 -方法更新,不起作用
//assume inputted values to new object
tbl_users newUser = new tbl_users() {
userName = this.WinWorkers_AddEditWorkers_Form_UserName.Text,
userPassword = this.WinWorkers_AddEditWorkers_Form_Password.Text,
userAccessLevel = this.WinWorkers_AddEditWorkers_Form_UserAccessLevel.Text
};
//default minimal password length is 4
if (App.IsInputValueMinLenOK(newUser.userPassword, 4)) {
EntityKey key = App.glidusContext.CreateEntityKey("tbl_users", objToBeEdited);
if (App.glidusContext.TryGetObjectByKey(key, out objToBeEdited)) {
App.glidusContext.ApplyCurrentValues<tbl_users>(key.EntitySetName, newUser);
}
try {
App.glidusContext.SaveChanges();
}
catch (Exception ex) {
App.UnitedHandleException(ex);
}
}
请帮助我,如何实现从数据库更新ADO .NET记录。例如,在我的表中有 * 詹姆斯邦德007*,编辑页面后(点击提交页面)我看到 * 奥斯汀权力008*。
1条答案
按热度按时间piok6c0g1#
要编辑或更新,可以使用stub entities