0

我想存储登录信息{id,bagian} 所以我创建了Session.cs类。这是Session.cs代码

 class Session
{
  public Session ()
  {

  }
  public int idnya { get; set; }
  public string bagiannya { get; set; }

    public void saveSession(int id, string bagian)
    {
        idnya = id;
        bagiannya = bagian;
    }

    public void destroySession()
    {
        idnya = 0;            
        bagiannya = "";
    }
}

因此id将以以下形式自动生成。但是,为什么id返回 0 ?

在此处输入图像描述

这是我的Tambah构造函数

public Tambah()
    {
        InitializeComponent();
        textBox2.Text = session.idnya.ToString();
    }

这是我的Login代码。我使用saveSession()方法将id和存储bagianSession.cs类中

在此处输入图像描述

  int nomornya = int.Parse(textBox1.Text);
        string passwordnya = textBox2.Text;
        string bagiannya = comboBox1.Text;


        var data = from a in de.karyawan
                   where a.nomor_karyawan == nomornya &&
                   a.password == passwordnya &&
                   a.bagian == bagiannya
                   select a;

        if (data.Any())
        {
            if (bagiannya.Equals("Admin"))
            {
                cmd.cetakSukses("Login sebagai admin", "Login");
                loginAdmin();
            }
            else
            {
                cmd.cetakSukses("Login sebagai teller", "Login");
                loginTeller();
            }
            main.Show();
            this.Hide();
            session.saveSession(nomornya, bagiannya);
            //MessageBox.Show(session.idnya.ToString());
        }
        else
        {
            cmd.cetakGagal("Username atau password salah", "Login");
        }

当我调用idnyaandbagiannya值时,它们显示预期值。Tambah但是,当我调用表格时它出错了。

如何解决这个问题?或者有没有Session手动生成类的替代方法?

任何帮助将不胜感激。谢谢 !

4

1 回答 1

0

从图片和您建议代码不会崩溃的事实来看,我猜“textBox1”是图片中的第二个 TextBox 控件。此控件包含文本“0”,因此在您将此文本解析为整数后,它将为您提供 0。之后,您不会修改此变量(“nomornya”,无论这意味着什么),所以您如何期望它不会为0?除此之外,您的问题混乱且不清楚。

编辑:目前还不清楚你期望发生什么以及为什么。什么情况?如果 ID 来自用户,那么任何人都猜想你在 textBox1 中输入了什么会产生不需要的结果?正如您所说,“id 返回 0”是什么时候?

于 2013-08-08T00:10:38.897 回答