Код для сопоставления данных, хранящихся в базе данных SQL - PullRequest
0 голосов
/ 29 февраля 2012

То, что я пытаюсь сделать, - это создать банкомат, поэтому, когда пользователь выбирает номер своей учетной записи в поле со списком, в котором хранятся все номера учетных записей из базы данных sql, а затем вводит правильный пин-код, он позволяет пользователю получить доступ к форме2.Любые предложения о том, как это сделать. Я думаю, что мне нужно выражение if, поэтому, когда нажата клавиша ввода, если пин-код правильный, перейдите на следующую страницу, но если он неправильный, у меня появится окно с сообщением, что у вас осталось 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);
    }    

Ответы [ 2 ]

1 голос
/ 05 марта 2012

Вы должны использовать этот запрос, если вы используете 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");
            }
         }

Надеюсь, это сработает, если у тебя возникнут сомнения ...

0 голосов
/ 29 февраля 2012

Для меня это похоже на домашнюю работу, но вам нужен объект соединения со строкой соединения и конструктор адаптера sql с вашим SQL-кодом, прежде чем вы сможете вызвать команду Fill для заполнения вашего набора данных.

Затем вам нужновозьмите введенный ими пин-код и найдите его в наборе данных или выполните инструкцию SQL в этот момент, а не в событии Form_Load.Вам понадобится переменная numberOfAttempts, которая должна увеличиваться при каждом сбое и сбрасываться в 0, если вывод правильный.Ваш оператор if должен проверить эту переменную.

Ваш SQL должен быть примерно таким:

SELECT * FROM ACCOUNTTABLE 
WHERE 
ACCOUNT = SELECTEDACCOUNTNUMBER 
AND 
PINNUMBER = ENTEREDPINNUMBER
...