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 */;