【问题标题】:Creating user settings, saving them, and using them with a button click. C#创建用户设置,保存它们,并通过单击按钮使用它们。 C#
【发布时间】:2018-11-10 05:19:03
【问题描述】:

这是我的第一个 C# 项目,我正在尝试在我的程序中实现配置文件部分。我希望用户能够输入他们的信息,如姓名、地址等,并能够保存输入的信息,以便以后使用。现在,我只能让他们保存一个配置文件,而我不知道如何通过单击按钮添加更多配置文件。这是我目前保存他们信息的代码:

        public void button4_Click(object sender, EventArgs e)
    {
        profile1Name = txtProfile1Name.Text;
        email = txtEmail.Text;
        password = txtPassword.Text;
        fullName = txtFullName.Text;
        txtEmail.Text = Properties.Settings.Default.Email;
        Properties.Settings.Default.ProfileName = txtProfile1Name.Text;
        Properties.Settings.Default.Email = txtEmail.Text;
        Properties.Settings.Default.Password = txtPassword.Text;
        Properties.Settings.Default.FullName = txtFullName.Text;
        Properties.Settings.Default.Save();
        MessageBox.Show($"Profile saved.");
    }

    public void LoadSettings()
    {
        profile1Name = Properties.Settings.Default.ProfileName;
        email = Properties.Settings.Default.Email;
        password = Properties.Settings.Default.Password;
        fullName = Properties.Settings.Default.FullName;
    }

我让用户将他们的信息输入到一个文本框中,然后单击保存。 我还有另一种形式,用户可以在其中输入信息,我只是不确定如何更改他们创建的字符串的名称。

我是 C# 新手,所以任何其他建议也会很有用。 提前感谢您的帮助:)

【问题讨论】:

  • 您是否考虑过使用 app.config 文件? Reference
  • 您正带着这个要求冒险进入数据库领域。
  • @Symon 我正在使用 app.config,我只需要知道如何添加更多内容。
  • @LarsTech 有没有什么地方可以为我指明正确的方向来了解数据库并满足我的特殊需求?
  • 这个问题对于这个网站来说太宽泛了。谷歌示例非常简单。当您遇到困难时,请提出另一个问题并发布您正在使用的给您带来麻烦的代码。

标签: c#


【解决方案1】:

这是一个宽泛的话题,但我相信我仍然可以为您提供一个想法,让您了解它是如何工作的,或者至少“谷歌要做什么!”

将用户信息保存到属性中并不是“存储用户信息”的传统方式。您需要添加一个外部数据库来存储和检索多个用户信息。

为了添加外部数据库,您必须创建一个包含存储用户名、密码、年龄等字段的表。您可以选择所使用的数据库,例如:Microsoft Access、SQL、Oracle。

假设您正在使用 Microsoft Access 创建数据库,首先您必须创建并打开一个新的 MS Access 文件,单击“创建”选项卡并选择“表”。添加必填字段(全名,用户名,电子邮件,密码在你的情况下)如下所示:

此外,您需要将数据库链接到应用程序,为此您需要:

  • 导入处理数据库操作命令的 OLEdb 库
  • 用于创建新配置文件的按钮上的代码
  • 为您的数据库和应用创建连接字符串(连接字符串告诉应用您的数据库所在的位置)
  • 最后添加将用户信息添加到数据库的 SQL 查询。

看起来像这样:

Imports System.Data.OleDb    //Preferably placed before the form load code ie. Top of the page 
Dim connection As OleDbConnection = New OleDbConnection //Code below, including this is written in the "create profile" button block
            connection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\LoginDB.accdb" //Here, LoginDB is the name of your MS Access file.
            connection.Open()
            Dim updatequery As OleDbCommand = New OleDbCommand("INSERT INTO LoginTable (FullName,ProfileName,Email,Password) VALUES(@name1,@name2,@email,@pass)", connection) //LoginTable being the name of the table created inside MS Access file.
            updatequery.Parameters.Add("@name1", OleDbType.VarChar).Value = TextBox1.Text
            updatequery.Parameters.Add("@name2", OleDbType.VarChar).Value = TextBox2.Text
            updatequery.Parameters.Add("@email", OleDbType.Numeric).Value = TextBox3.Text
            updatequery.Parameters.Add("@pass", OleDbType.Numeric).Value = TextBox4.Text
            updatequery.ExecuteNonQuery()
            connection.Close()

关于在应用程序的属性页面上保存信息,更像是在属性中拥有一个管理员配置文件,即使外部用户数据库被删除,也可以在整个应用程序中访问

【讨论】:

  • 这样做会将他们的信息存储到本地计算机吗?
  • 我认为数据库应该与应用程序的exe绑定。因此,拥有该应用程序的人也拥有数据库。我的应用程序更多的是关于大学模型。就像一个原型。所以对我有用。如果你要分享应用程序,我相信你必须存储在 SQL 等在线数据库中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-02
  • 1970-01-01
  • 2016-03-21
  • 2016-03-29
  • 2023-04-04
  • 1970-01-01
相关资源
最近更新 更多