使用c#更改csv文件中的值

时间:2016-04-20 09:55:03

标签: c# csv

我做了一个简单的应用程序,让你登录,你可以点击忘记密码(忘记密码是这个应用程序的主要部分)

csv文件的结构如下:用户名,密码,角色,ID号

我可以很好地从我的CSV文件中读取这些值,但这一切都运行良好,但我想要做的是允许用户在输入正确的用户名和ID号时更改密码。

我的阅读CSV文件的代码

       private void button1_Click(object sender, EventArgs e)
    {
        var encoding = Encoding.GetEncoding("iso-8859-1");
        var csvLines = File.ReadAllLines("C:\\Users\\hughesa3\\Desktop\\test environment\\users.csv", encoding);

        foreach (var line in csvLines)
        {
            var values = line.Split(',');
            if (values[0].Contains(textBox1.Text) && textBox2.Text == values[3]) // Textbox 1 = Username & Values[3] Is there ID Number
            {
                Form3 form = new Form3();
                form.Show(); // This loads the new form with the fields new password and confirm password.
            }
        }
    }

所以我需要改变的价值是价值[1] 我可以检查两个密码是否匹配,但是当我不确定如何覆盖值[1]时。我尝试用谷歌搜索和看到StreamWriter和StreamReader的一些东西,但当我试图实现它时,我只是遇到了很多错误。是否有人能够建议或暗示其他方式这样做?

如果需要更多信息请说。感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用CsvHelperA Fast CSV Reader等用户库来读取和写入CSV文件。

因为它只是课程作业应用程序,您可能会在更改用户数据时覆盖整个文件。

您的算法可以是:

  1. 将CSV文件读入阵列。
  2. 查找用户记录
  3. 更新记录
  4. 将数组存储到CSV文件中。
  5. 你可以使用或不使用我之前提到过的库。