TableAdapter 更新永远不会写入 table

TableAdapter Update never gets written to the table

我有以下代码来更新用户密码。我的应用程序以 MainWindow.xaml 开头,它有一个登录屏幕和一个更改密码按钮。更改密码按钮打开 PasswordRecover.xaml 但保持 MainWindow.xaml 打开。

在PasswordRecover.xaml 中,用户必须输入当前密码和新密码并对其进行确认。要更新用户密码,我使用 btnConfirm_Click_1.

方法

密码更改后,returns到主窗口屏幕。

当我登录程序时只接受新密码,它按原样拒绝旧密码,但是当应用程序关闭时,用户密码没有在table中更新。

感谢您的帮助。

using System.Data;
using System.Data.SqlClient;
using System.IO;
using Library.DataBase.dsLibraryTableAdapters;
using Library.DataBase;    

tbUsersTableAdapter tableAdapterUsers = new tbUsersTableAdapter();
dsLibrary.tbUsersDataTable dataTableUsers;

private void btnConfirm_Click_1(object sender, RoutedEventArgs e)
{
     dataTableUsers = tableAdapterUsers.getDataByUserName(lblUser.Content.ToString());
     tbUsersRow = (dsLibrary.tbUsersRow)dataTableUsers.Rows[0];
     tbUsersRow.userPassword = txtNewPassword.Password.ToString();
     tableAdapterUsers.Update(dataTableUsers);
}

经过几个小时的调查,对我有用的解决方案是:

  1. 在解决方案资源管理器中右键单击您的 .mdf 文件并选择属性;
  2. 将复制到输出目录的设置更改为 "Do not copy";
  3. 在 App.config 中编辑连接字符串,将“|DataDirectory|\DataBase\Library.mdf”替换为 .mdf 文件的完整路径,例如 C:\DataBase\Library.mdf .

希望这对以后的其他人有所帮助!

保重。