我的应用程序不会将数据保存到数据库

时间:2014-12-05 12:00:12

标签: c# sql .net

我尝试创建一个将数据保存到现有本地SQL数据库的C#应用​​程序。我创建了一个名为AccountDatabase.mdf的本地数据库,其中包含一个名为AccountTable的表。我刚开始用一张空桌子。然后我使用下面的代码让应用程序将输入数据保存到数据库中。

private void FPAccountNotExist_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    //Make forgot password page invisible and create new account page visible
    ForgotPassword.Visible = false;
    CreateNewAccount.Visible = true;

    //Set text content of labels on create new account page
    CreateNewAccountTitle.Text = "Create New Account";
    CNAConfirmLabel.Text = "Confirm Password";
    CNAEmailLabel.Text = "Email";
    CNAInstruction.Text = "Please fill in the following details.";
    CNAOpenAccount.Text = "Submit new account";
    CNAPasswordLabel.Text = "Password";
    CNAUsernameLabel.Text = "Username";
    OpenManual.Text = "Start with Manual";
    CNAConfirmTextBox.UseSystemPasswordChar = true;
    CNAPasswordTextBox.UseSystemPasswordChar = true;

}

private void CNAOpenAccount_Click(object sender, EventArgs e)
{
    AccountVariables.ConfirmedPassword = CNAConfirmTextBox.Text;
    AccountVariables.Email = CNAEmailTextBox.Text;
    AccountVariables.Password = CNAPasswordTextBox.Text;
    AccountVariables.Username = CNAUsernameTextBox.Text;

    //GeneralVariables.ManualOption = OpenManual.Checked;

    var CreateNewAccountStrings = new List<string> { AccountVariables.ConfirmedPassword, AccountVariables.Password, AccountVariables.Email, AccountVariables.Username };

    if (CreateNewAccountStrings.Contains(""))
    {
        MessageBox.Show("All textboxes should be filled");
    }
    else
    {
        if ((AccountVariables.ConfirmedPassword == AccountVariables.Password) && (AccountVariables.Password.Length >= 8))
        {
            accountTableTableAdapter.Fill(accountDatabaseDataSet.AccountTable);
            AccountVariables.defaultAccountRow = AccountVariables.defaultAccountRow + 1;

            AccountVariables.newAccountTableRow = accountDatabaseDataSet.AccountTable.NewAccountTableRow();
            AccountVariables.newAccountTableRow.UserId = AccountVariables.defaultAccountRow;
            AccountVariables.newAccountTableRow.Username = AccountVariables.Username;
            AccountVariables.newAccountTableRow.Email = AccountVariables.Email;
            AccountVariables.newAccountTableRow.Password = AccountVariables.Password;
            accountDatabaseDataSet.AccountTable.AddAccountTableRow(AccountVariables.newAccountTableRow);

            accountTableTableAdapter.Update(accountDatabaseDataSet.AccountTable);
            accountDatabaseDataSet.AccountTable.AcceptChanges();

            AccountVariables.AccountDatabaseConnection.Close();
        }
    }
}

然而,当我在运行应用程序后关闭程序时,我查看了数据库,发现即使我保存了行,也没有保存这些行。请你帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

AccountsDatabase.mdf是您创建的数据库(正如您在问题中所说的那样),例外情况表明AccountDatabase.mdf无法访问。

请检查异常点的路径是否可达(如果该文件夹中有该文件。

如果没有,请更改客户端应用程序配置文件中数据库的路径,然后重试。