- C# OleDbDataReader
- public void Charge(string bankaccountnumber, decimal moneyamount)
- {
- foreach (Bankaccount bankaccountInProcess in bankaccount)
- {
- if (bankaccountnumber == bankaccountInProcess.Bankaccountnumber)
- bankaccountInProcess.ChargeFromBankAccount(moneyamount);
- }
- return;
- }
- public bool IdentifyUser(string bankAccountnumber, int passWord)
- {
- connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source= C:\asd.accdb");
- connection.Open();
- OleDbCommand getOne = new OleDbCommand();
- getOne.Connection = connection;
- getOne.CommandText = "SELECT accounNum, pinCode FROM Account WHERE accountNum = '" +
- bankAccountnumber +"'";
- OleDbDataReader readOne = readOne.ExecuteReader();
- if (readOne.Read())
- {
- int GottenPassWord = (int)readOne["pinCode"];
- if (GottenPassWord == passWord)
- return true;
- }
- else
- {
- Console.WriteLine("Account was not found");
- }
- connection.Close();
- return false;
- }
- public void Charge(string bankaccountnumber, decimal moneyamount)
- {
- connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source= C:\asd.accdb");
- connection.Open();
- OleDbCommand getOne = new OleDbCommand();
- getOne.Connection = connection;
- getOne.CommandText = "SELECT accounNum, WholeAccountBalance, BalanceAmountAvailableForWithdrawal FROM Account WHERE accounNum = '" +
- bankaccountnumber + "'";
- OleDbDataReader readOne = readOne.ExecuteReader();
- if (readOne.Read())
- {
- // i dont know what to put here to make this do the same thing as the foreach did
- return;
- }
- else
- {
- Console.WriteLine("Charging did not work");
- return;
- }
- }
- public void Charge(string bankaccountnumber, decimal moneyamount)
- {
- using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source= C:\asd.accdb"))
- {
- connection.Open();
- using (OleDbCommand cmd = new OleDbCommand())
- {
- cmd.Connection = connection;
- cmd.CommandText = "SELECT accounNum, WholeAccountBalance, BalanceAmountAvailableForWithdrawal FROM Account WHERE accounNum = @accNum";
- cmd.Parameters.AddWithValue("@accNum", bankaccountnumber);
- using (OleDbDataReader reader = cmd.ExecuteReader())
- {
- if (reader.Read()) //assuming accounNum is an unique field (primary key)
- {
- decimal balanceAmountAvailableForWithdrawal = Convert.ToDecimal(reader["BalanceAmountAvailableForWithdrawal"]);
- if (balanceAmountAvailableForWithdrawal >= moneyamount) //check if you can withdraw money
- {
- cmd.CommandText = @"UPDATE Account
- SET WholeAccountBalance = WholeAccountBalance - @moneyamount,
- BalanceAmountAvailableForWithdrawal = BalanceAmountAvailableForWithdrawal - @moneyamount
- WHERE accounNum = @accNum";
- cmd.Parameters.AddWithValue("@moneyamount", moneyamount);
- int result = cmd.ExecuteNonQuery();
- if (result == 1)
- Console.WriteLine("Money withdrawn sucessfully.");
- else
- Console.WriteLine("Error while withdrawing, operation has failed.");
- }
- else
- {
- Console.WriteLine("Not enough money to withdrawn requested ammount.");
- }
- }
- else
- {
- Console.WriteLine("Charging did not work");
- }
- }
- }
- }
- }