我想要做的是创建一个ATM,所以当用户从包含sql数据库中所有帐号的组合框中选择他们的帐号,然后输入正确的PIN时,它允许用户访问form2。关于如何做到这一点的任何建议。我想我需要一个if语句所以当按下enter键时如果引脚是正确的继续到下一页但如果不正确生病有一个消息框显示你有2次尝试,我只是不要不需要与数据库交互以使帐号与正确的引脚匹配所需的代码。我的代码如下:
private void BtnEnter_Click(object sender, EventArgs e)
{
if (true)
{
Form2 frm2;
frm2 = new Form2();
frm2.ShowDialog();
}
else
{
MessageBox.Show("You have two attempts remaining");
}
}
private void Form1_Load(object sender, EventArgs e)
{
sqlDataAdapter1.Fill(dataSet11.ATMCards);
}
答案 0 :(得分:1)
如果您使用的是ComboBox和文本框
,则应使用此查询 string Sqlcommand="Select PinNumber from [Your Table Name]
where
AccountNumber='"+Combobox.SelectedItem+"' ;
SqlConnection con = new SqlConnection(ConnectionString);
string Sqlcommand="Select PinNumber from [Your Table Name]
where
AccountNumber='"+Combobox.SelectedItem+"' ;
SqlCommand cmd = new SqlCommand(Sqlcommand, con);
con.Open();
Object pinnumber = cmd.ExecuteScalar();
con.Close();
if (pinnumber != null)
{
LblError.Visible = false;
LblError.Text = "";
if (pinnumber .ToString() == TextBox1.Text)
{
Response.Redirect("");
}
else if (TypeUser.ToString() == "HR")
{
MessageBox.Show("You have two attempts remaining");
}
}
希望这对你有用..如果你有任何疑问,请问我......
答案 1 :(得分:0)
听起来像是家庭作业,但你需要一个带有连接字符串的连接对象和带有SQL的SQL适配器构造函数,然后才能调用Fill命令来填充数据集。
然后,您需要获取他们输入的密码,并在数据集中找到它或在该点执行SQL语句,而不是在Form_Load事件中执行。您将需要一个numberOfAttempts变量,该变量需要在每次失败时递增,如果引脚正确则需要重置为0。然后你的if语句需要检查这个变量。
您的SQL必须是:
SELECT * FROM ACCOUNTTABLE
WHERE
ACCOUNT = SELECTEDACCOUNTNUMBER
AND
PINNUMBER = ENTEREDPINNUMBER