Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于匹配sql数据库中保存的数据的代码_C#_Sql_Sqlcommand - Fatal编程技术网

C# 用于匹配sql数据库中保存的数据的代码

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)

我想做的是创建一个ATM,所以当用户从包含sql数据库中所有帐号的组合框中选择他们的帐号,然后输入正确的pin时,它允许用户访问form2。关于如何做的任何建议。我想我需要一个if语句,因此当按下enter键时,如果pin正确,则继续下一页,但如果pin不正确,我会有一个消息框显示您还有两次尝试,我只是不知道与数据库交互以使帐号与正确pin匹配所需的代码。我已经收到的代码如下:

    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”)?(索引是在组合框中保存当前选定帐号的变量)。谢谢你的帮助