获取类中保存的用户帐号

时间:2013-08-05 23:32:26

标签: c#

我已经创建了一个正常工作的登录表单但是我想要做的是在用户登录后我需要将帐号存储在某处以便我可以保存它。

这是我的按钮Click Event Method

  private void button1_Click(object sender, EventArgs e)
    {
        string accNumMain = "";
        Menu m1 = new Menu();
        string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ATM_Database.accdb; Persist Security Info=False;";
        OleDbDataReader dr = null;
        using (OleDbConnection conn = new OleDbConnection(connectionString))
        {
            try
            {
                conn.Open();
                string query = "Select Customer_ID,Password from Customer where Customer_ID = '" + this.userBox.Text + "' and Password = '" + this.Password.Text + "'";
                OleDbCommand cmd = new OleDbCommand(query, conn);
                cmd.Parameters.AddWithValue("@Customer_ID ", this.userBox.Text);
                cmd.Parameters.AddWithValue("@Password ", this.Password.Text);
                dr = cmd.ExecuteReader();

                if (dr.HasRows == true)
                {
                    while (dr.Read())
                    {
                        accNumMain = userBox.Text;
                        Classes.AccSave AC1 = new Classes.AccSave(accNumMain);
                        MessageBox.Show("Welcome");
                        this.Hide();
                        m1.Show();
                    }
                }
                else
                {
                    wrongEntry_Lable.Visible = true;
                }
            }
            finally
            {
                Console.ReadLine();
                if (dr != null)
                {
                    dr.Close();
                }
                if (conn != null)
                {
                    conn.Close();
                }
            }
        }
    }

我所做的是将上下文保存到一个新类中:

class AccSave
{
    string acc { get; set; }

    public AccSave(string acc)
    {
        this.acc = acc;
    }
}

}

我无法从另一个类调用此类来访问其中包含AccNum的字符串var

2 个答案:

答案 0 :(得分:1)

我的猜测是你将AC1的范围限制在它创建的块中,为什么不创建一个静态类,你可以使用它来存储你的信息,而不必担心范围。< / p>

class  AccSave
{
    static string _acc;
    public static string acc { get { return _acc; } set { _acc = value; } }
    public static void clear()
    {
        _acc = "";
    }

}

<强> Usuage

AccSave.acc = "Your Text Here";  // Add Value
string temp = AccSave.acc;       //Retrieve Value
AccSave.Clear();                 //Clear Value

答案 1 :(得分:0)

将公开内容添加到您的班级

public class AccSave{

}