我需要创建具有登录用户的保存ID的登录表单。我已经在登录表单了。您能帮忙告诉我,根据输入的用户名和密码,我应该在哪里更改代码以保存我的ID?
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Project\Database.mdb");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter("Select Count(*) From Datatable where Username ='" + textBox1.Text + "' and Password ='" + textBox2.Text + "'", con);
DataTable dt = new DataTable();
dataAdapter.Fill(dt);
if (dt.Rows[0][0].ToString() == "1")
{
this.Hide();
Form1 ss = new Form1();
ss.Show();
}
else
{
MessageBox.Show("Incorrect name or password");
}
}
答案 0 :(得分:0)
在C#中没有全局变量这样的东西。 如果您想在登录时存储ID,我建议您创建如下内容:
public static class Globals
{
public static String ID; // Modifiable in Code
}
因此,您可以在代码中的任何位置使用名为ID
的此属性,例如:
if (dt.Rows[0][0].ToString() == "1")
{
Globals.ID = "YOUR ID";
this.Hide();
Form1 ss = new Form1();
ss.Show();
}
一旦将此Globals.ID设置为您的值,您的代码中的任何位置都可以使用(假设您正在使用相同的命名空间)。
答案 1 :(得分:0)
是的,C#中没有全局变量。 而Roxy'Pro的答案是完美的,但为了一点安全性我会推荐
//this will create a variable that belongs to no class
private static string id;
//This will create a get property for the variable "id"
public static string ID{get{return id;}}
if (dt.Rows[0][0].ToString() == "1")
{
id = "YOUR ID";
this.Hide();
Form1 ss = new Form1();
ss.Show();
}
一旦将此id设置为您的值,您就可以通过使用“className.PropertyName”创建的属性在任何位置检索它。这将确保您设置'id',您需要在代码中的任何位置意外更改值。