C# 用于匹配sql数据库中保存的数据的代码
我想做的是创建一个ATM,所以当用户从包含sql数据库中所有帐号的组合框中选择他们的帐号,然后输入正确的pin时,它允许用户访问form2。关于如何做的任何建议。我想我需要一个if语句,因此当按下enter键时,如果pin正确,则继续下一页,但如果pin不正确,我会有一个消息框显示您还有两次尝试,我只是不知道与数据库交互以使帐号与正确pin匹配所需的代码。我已经收到的代码如下:C# 用于匹配sql数据库中保存的数据的代码,c#,sql,sqlcommand,C#,Sql,Sqlcommand,我想做的是创建一个ATM,所以当用户从包含sql数据库中所有帐号的组合框中选择他们的帐号,然后输入正确的pin时,它允许用户访问form2。关于如何做的任何建议。我想我需要一个if语句,因此当按下enter键时,如果pin正确,则继续下一页,但如果pin不正确,我会有一个消息框显示您还有两次尝试,我只是不知道与数据库交互以使帐号与正确pin匹配所需的代码。我已经收到的代码如下: private void BtnEnter_Click(object sender, EventArgs e)
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);
}
听起来像是家庭作业,但在调用Fill命令填充数据集之前,您需要一个带有连接字符串的连接对象和一个包含sql的sql适配器构造函数 然后,您需要获取他们输入的pin码,并在数据集中找到它,或者在该点而不是在Form_Load事件中执行SQL语句。您需要一个NumberOfThrests变量,该变量需要在每次故障时递增,如果引脚正确,则重置为0。然后,if语句需要检查此变量 您的SQL需要类似于:
SELECT * FROM ACCOUNTTABLE
WHERE
ACCOUNT = SELECTEDACCOUNTNUMBER
AND
PINNUMBER = ENTEREDPINNUMBER
如果使用ComboBox和textbox,则应使用此查询
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");
}
}
希望这对你有用。如果你有任何疑问,请询问我…我使用向导设置了连接和数据集,那么我需要所有这些代码吗?或者这是为了创建连接?是否有一种方法可以让我使用一个整数来保存当前选定的帐号,然后使用我的数据集来定位保存该帐号和pin号的行,例如DataSetaM1.Tables(“ACCOUNTS”).Rows(Index).item(“pin”)?(索引是在组合框中保存当前选定帐号的变量)。谢谢你的帮助