如何将数据从多个文本框保存到C#中的文件(.txt)?

时间:2014-11-03 10:21:03

标签: c#

private void AddUserSubmitButton_Click(object sender, EventArgs e)
    {
        try
        {
            FileStream AddUserData = new FileStream("AddUser.txt", FileMode.OpenOrCreate);
            using (StreamWriter AddUserDataWrite = new StreamWriter(AddUserData))
            {
                AddUserDataWrite.Write(DisplayNameTextBox + "\r\n");
                AddUserDataWrite.Write(UserNameTextBox.Text + "\r\n");
                AddUserDataWrite.Write(PasswordTextBox.Text + "\r\n");
                AddUserDataWrite.Write(ConfirmPasswordTextBox.Text + "\r\n");
                AddUserDataWrite.Write(DepartmentComboBox.Text + "\r\n");
                AddUserDataWrite.Write(DesignationTextBox.Text + "\r\n");
                AddUserDataWrite.Write(BasicSalaryTextBox.Text + "\r\n");
                AddUserDataWrite.Write(JoiningDateDateTimePicker.Text + "\r\n");
                AddUserDataWrite.Write(AgreeRadioButton.Text + "\r\n");
                AddUserDataWrite.Write(FirstNameTextBox.Text + "\r\n");
                AddUserDataWrite.Write(LastNameTextBox.Text + "\r\n");
                AddUserDataWrite.Write(FatherNameTextBox.Text + "\r\n");
                AddUserDataWrite.Write(MaleRadioButton.Text + "\r\n");
                AddUserDataWrite.Write(FemaleRadioButton.Text + "\r\n");
                AddUserDataWrite.Write(CNICNumberTextBox.Text + "\r\n");
                AddUserDataWrite.Write(ContactNumberTextBox.Text + "\r\n");
                AddUserDataWrite.Write(EmailAddressTextBox.Text + "\r\n");
                AddUserDataWrite.Write(DOBDateTimePicker.Text + "\r\n");
                AddUserDataWrite.Write(ResidentialAddressTextBox.Text + "\r\n");
                AddUserDataWrite.Write(CityTextBox.Text + "\r\n");
                AddUserDataWrite.Write(CountryTextBox.Text + "\r\n");
            }                                    
        }
        catch(Exception exc)
        {
            MessageBox.Show(exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);                
        }
    }

这是注册表的代码。当我输入数据并单击提交按钮时,文本框中的所有数据都保存到文件" AddUser.txt"但是当我第二次输入数据并单击提交按钮时,数据会覆盖到同一个文件" AddUser.txt"。

简单地说,我每次单击“提交”按钮时都要创建新的.txt文件,以便每个人的数据保存到单个.txt文件中。

有什么办法吗?

2 个答案:

答案 0 :(得分:0)

请查看http://www.dotnetperls.com/textbox以获取文本框中的数据。

请查看http://msdn.microsoft.com/en-us/library/8bh11f1k.aspx将数据保存到文件中。

答案 1 :(得分:0)

解决方案1:

您必须定义输入值的哪种组合使此人具有唯一性。我假设用户名使一个人独一无二,所以也许这可能是解决方案:

 var filename = string.Format("AddUser_{0}.txt", UserNameTextBox.Text);
 FileStream AddUserData = new FileStream(filename, FileMode.OpenOrCreate);
 // code for wrting the information comes here (as you already have in your code)

这将为每个用户创建一个单独的文件。如果用户选择已存在的用户名,则将覆盖先前的文件。因此,请确保使用文件名的唯一用户属性组合。

解决方案2:

还有另一种解决方案,您可以使用生成的唯一ID来创建唯一的文件名。只需在文件名中添加UID而不是用户名左右。见http://msdn.microsoft.com/en-us/library/system.guid.newguid.aspx

相关问题