Showing posts with label Student Information System Using Ruby and MySQL. Show all posts
Showing posts with label Student Information System Using Ruby and MySQL. Show all posts

Tuesday, May 14, 2019

Student Information System Using Ruby and MySQL

In this article, I would like to share with you guys a CRUD application that I wrote using Ruby and MySQL. The application can add, edit, delete, view student records.

I am currently accepting programming work, IT projects, school and application development, programming projects, thesis and capstone projects, IT consulting work, computer tutorials, and web development work kindly contact me in the following email address for further details.  If you want to advertise on my website kindly contact me also in my email address also. Thank you.
My email address is the following jakerpomperada@gmail.com, jakerpomperada@aol.com, and jakerpomperada@yahoo.com.

My mobile number here in the Philippines is 09173084360.

My telephone number at home here in Bacolod City, Negros Occidental Philippines is  +63 (034) 4335675.

Here in Bacolod I also accepting computer repair, networking and Arduino Project development at a very affordable price.

My personal website is http://www.jakerpomperada.com








Sample Program Output

Program Listing

menu.rb

###################################################
# Author    : Mr. Jake Rodriguez Pomperada,MAED-IT
# Tools     : Ruby Version 2.6.3 and Notepad++
# Date      : May 14, 2019   Tuesday
# Location  : Bacolod City,Negros Occidental
# Website   : http://www,jakerpomperada.com
# Email     : jakerpomperada@gmail.com
###################################################

require 'mysql'

class MysqlDatabase
  def initialize(server,database,username,password)
    @svr = server
    @db = database
    @usr = username
    @pwd = password
  end

  def connect
    mysql = Mysql.connect(@svr, @usr, @pwd, @db)
    mysql.close()
  end

  def create_data(fname,lname,course,email)
    mysql = Mysql.connect(@svr, @usr, @pwd, @db)
stmt = mysql.prepare('INSERT INTO students(firstname,lastname,course,email) VALUES (?,?,?,?)')
    stmt.execute fname,lname,course,email
print "\n\n"
print "\tRecord has been saved in the database."
print "\n\n"
    mysql.close()
  end

  def read_data
    mysql = Mysql.connect(@svr, @usr, @pwd, @db)
    print("\n\n")
print("\t----------------------------------------")   
print("\n")
    print("\t\tVIEW ALL STUDENTS RECORDS")
print("\n")
    print("\t----------------------------------------")
print("\n\n")
print("\tID \tLASTNAME \tFIRSTNAME \tCOURSE \t\tEMAIL")
    print("\n\n")
    results = mysql.query('SELECT id,lastname,firstname,course,email FROM students ORDER BY lastname ASC')
    results.each do | id,lastname,firstname,course,email|
      print("\t#{id}\t#{lastname}\t#{firstname} \t#{course}\t#{email}\n")
    end
    mysql.close()
  end

  def update_data(id,fname,lname,course,email)
    mysql = Mysql.connect(@svr, @usr, @pwd, @db)
print("\n")
    print("\tUpdationg Student Record ID No. #{id}")
    stmt = mysql.prepare('UPDATE students SET firstname=?,lastname=?,course=?,email=? WHERE id=?')
    stmt.execute fname,lname,course,email,id
    print "\n\n"
print "\tRecord has been updated in the database."
print "\n\n"
    mysql.close()
  end

  def delete_data(id)
    mysql = Mysql.connect(@svr, @usr, @pwd, @db)
print("\n")
    print("\tDeleting Student Record ID No.#{id}")
    stmt = mysql.prepare('DELETE FROM students  WHERE id=?')
    stmt.execute id
    print "\n\n"
print "\tRecord has been deleted in the database."
print "\n\n"
    mysql.close()
  end
    
  
end

def menu

loop do

print "\n\n"
print "\t===== STUDENT INFORMATION SYSTEM IN RUBY AND MYSQL =====\n"
print "\t\t  AUTHOR: JAKE RODRIGUEZ POMPERADA"
print "\n\n"
print "\t[1] ADD    STUDENT RECORD\n"
print "\t[2] UPDATE STUDENT RECORD\n"
print "\t[3] VIEW   STUDENT RECORD\n"
print "\t[4] DELETE STUDENT RECORD\n"
print "\t[5] QUIT PROGRAM"
print "\n\n"
print "\tSELECT YOUR CHOICE :=> "
input = gets.strip

    case input
    when "1"
     print "\n\n"
         print "\tADD STUDENT RECORD"
print "\n\n"
print "\tGive Student First Name     : "
         fname = gets.chomp
print "\tGive Student Last Name      : "
         lname = gets.chomp
print "\tGive Student Course         : "
         course = gets.chomp
print "\tGive Student Email Address  : "
         email = gets.chomp
db = MysqlDatabase.new('127.0.0.1','school','root','')
db.create_data(fname.upcase,lname.upcase,course.upcase,email.downcase)
    when "2"
         print "\n\n"
         print "\tUPDATE STUDENT RECORD"
print "\n\n"
print "\tGive Student ID Number     : "
         id = gets;
id = id.to_i;
print "\tGive Student First Name     : "
         fname = gets.chomp
print "\tGive Student Last Name      : "
         lname = gets.chomp
print "\tGive Student Course         : "
         course = gets.chomp
print "\tGive Student Email Address  : "
         email = gets.chomp
db = MysqlDatabase.new('127.0.0.1','school','root','')
db.update_data(id,fname.upcase,lname.upcase,course.upcase,email.downcase)
    when "3"
    db = MysqlDatabase.new('127.0.0.1','school','root','')
        db.read_data()
    when "4"
         print "\n\n"
         print "\tDELETE STUDENT RECORD"
print "\n\n"
print "\tGive Student ID Number     : "
         id = gets;
id = id.to_i;
db = MysqlDatabase.new('127.0.0.1','school','root','')
         db.delete_data(id)
 
    when "5"
     print("\n\n")
print("\tTHANK YOU FOR USING THIS PROGRAM")
     print("\n\n")
         return
      else
    print("\n")
        print("\tInvalid option: #{input}. Try Again.")
print("\n")
    end
 end
end

menu

# End of Code

students.sql

-- phpMyAdmin SQL Dump
-- version 4.8.5
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: May 14, 2019 at 09:53 AM
-- Server version: 10.1.38-MariaDB
-- PHP Version: 7.1.28

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `school`
--

-- --------------------------------------------------------

--
-- Table structure for table `students`
--

CREATE TABLE `students` (
  `id` int(11) NOT NULL,
  `firstname` varchar(200) NOT NULL,
  `lastname` varchar(200) NOT NULL,
  `course` varchar(200) NOT NULL,
  `email` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `students`
--

INSERT INTO `students` (`id`, `firstname`, `lastname`, `course`, `email`) VALUES
(1, 'JAKE', 'POMPERADA', 'BS INFORMATION TECHNOLOGY', 'jakerpomperada@aol.com'),
(2, 'ALLIE ', 'POMPERADA', 'BS CHEMCIAL ENGINEERING', 'allie_pomperada@yahoo.com.ph'),
(4, 'JACOB SAMUEL', 'POMPERADA', 'BS COMPUTER ENGINEERING', 'jacobsamuel_pomperada@hotmail.com'),
(5, 'JULIANNA RAE', 'POMPERADA', 'BS BUSINESS MANAGEMENT', 'iya_pomperada@gmail.com');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `students`
--
ALTER TABLE `students`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `students`
--
ALTER TABLE `students`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;