0% found this document useful (0 votes)
13 views15 pages

CS Project

python connectivity

Uploaded by

prernaa0203
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views15 pages

CS Project

python connectivity

Uploaded by

prernaa0203
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

1|Page

CREATE DATABASE railway_reservation;


import mysql.connector

# Establish connection
conn = mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="railway_reservation"
)
print("Connection successful!")
cursor = conn.cursor()
2|Page

query = """
CREATE TABLE IF NOT EXISTS Reservations (
ReservationID INT AUTO_INCREMENT PRIMARY
KEY,
PassengerName VARCHAR(100),
TrainNumber INT,
TravelDate DATE,
Source VARCHAR(50),
Destination VARCHAR(50)
)
"""
cursor.execute(query)
print("Table 'Reservations' created successfully!")
3|Page

Create a db_connection.py file:


import mysql.connector
def connect_to_db():
try:
connection = mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="RailwayReservation"
)
return connection
except mysql.connector.Error as err:
print(f"Error: {err}")
return None
4|Page

import hashlib
from db_connection import connect_to_db

def register_user(username, password, email,


phone):
conn = connect_to_db()
if conn:
cursor = conn.cursor()
hashed_password =
hashlib.sha256(password.encode()).hexdigest()
query = "INSERT INTO Users (Username,
Password, Email, Phone) VALUES (%s, %s, %s, %s)"
cursor.execute(query, (username,
hashed_password, email, phone))
conn.commit()
print("Registration successful!")
cursor.close()
conn.close()
5|Page

def login_user(username, password):


conn = connect_to_db()
if conn:
cursor = conn.cursor()
hashed_password =
hashlib.sha256(password.encode()).hexdigest()
query = "SELECT * FROM Users WHERE Username = %s
AND Password = %s"
cursor.execute(query, (username, hashed_password))
user = cursor.fetchone()
cursor.close()
conn.close()
return user is not None
6|Page

# Booking a Ticket
from datetime import datetime

def book_ticket(user_id, train_id):


conn = connect_to_db()
if conn:
cursor = conn.cursor()
query = "SELECT SeatsAvailable FROM Trains WHERE
TrainID = %s"
cursor.execute(query, (train_id,))
seats = cursor.fetchone()[0]

if seats > 0:
booking_date = datetime.now().date()
query = "INSERT INTO Bookings (UserID, TrainID,
BookingDate) VALUES (%s, %s, %s)"
cursor.execute(query, (user_id, train_id, booking_date))

query = "UPDATE Trains SET SeatsAvailable =


SeatsAvailable - 1 WHERE TrainID = %s"
cursor.execute(query, (train_id,))
7|Page

conn.commit()
print("Ticket booked successfully!")
else:
print("No seats available.")
cursor.close()
conn.close()

# Viewing Bookings
def view_bookings(user_id):
conn = connect_to_db()
if conn:
cursor = conn.cursor()
query = """
SELECT b.BookingID, t.TrainName, t.Source,
t.Destination, b.BookingDate
FROM Bookings b
JOIN Trains t ON b.TrainID = t.TrainID
WHERE b.UserID = %s
8|Page

"""
cursor.execute(query, (user_id,))
bookings = cursor.fetchall()
for booking in bookings:
print(booking)
cursor.close()
conn.close()

#MAIN PROGRAM
import mysql.connector

def connect_to_db():
"""Connect to the MySQL database."""
try:
conn = mysql.connector.connect(
host="localhost",
user="root",
9|Page

password="your_password", # Replace with


your MySQL password
database="railway_reservation"
)
print("Connected to the database
successfully!")
return conn
except mysql.connector.Error as err:
print(f"Error: {err}")
return None

def create_table(cursor):
"""Create the Reservations table if it doesn't
exist."""
query = """
CREATE TABLE IF NOT EXISTS Reservations (
ReservationID INT AUTO_INCREMENT PRIMARY
KEY,
10 | P a g e

PassengerName VARCHAR(100),
TrainNumber INT,
TravelDate DATE,
Source VARCHAR(50),
Destination VARCHAR(50)
)
"""
cursor.execute(query)

def add_reservation(cursor, conn):


"""Add a new reservation."""
name = input("Enter Passenger Name: ")
train_no = int(input("Enter Train Number: "))
travel_date = input("Enter Travel Date (YYYY-MM-
DD): ")
source = input("Enter Source Station: ")
destination = input("Enter Destination Station: ")
11 | P a g e

query = """
INSERT INTO Reservations (PassengerName,
TrainNumber, TravelDate, Source, Destination)
VALUES (%s, %s, %s, %s, %s)
"""
data = (name, train_no, travel_date, source,
destination)
cursor.execute(query, data)
conn.commit()
print("Reservation added successfully!")

def view_reservations(cursor):
"""View all reservations."""
query = "SELECT * FROM Reservations"
cursor.execute(query)
reservations = cursor.fetchall()
if reservations:
print("All Reservations:")
12 | P a g e

for row in reservations:


print(row)
else:
print("No reservations found.")

def update_reservation(cursor, conn):


"""Update an existing reservation."""
reservation_id = int(input("Enter Reservation ID
to update: "))
new_destination = input("Enter new Destination:
")

query = "UPDATE Reservations SET Destination =


%s WHERE ReservationID = %s"
data = (new_destination, reservation_id)
cursor.execute(query, data)
conn.commit()
print("Reservation updated successfully!")
13 | P a g e

def delete_reservation(cursor, conn):


"""Delete a reservation."""
reservation_id = int(input("Enter Reservation ID
to delete: "))
query = "DELETE FROM Reservations WHERE
ReservationID = %s"
data = (reservation_id,)
cursor.execute(query, data)
conn.commit()
print("Reservation deleted successfully!")

def main():
"""Main program loop."""
conn = connect_to_db()
if conn is None:
return
cursor = conn.cursor()
14 | P a g e

create_table(cursor)

while True:
print("\n--- Railway Reservation System ---")
print("1. Add Reservation")
print("2. View Reservations")
print("3. Update Reservation")
print("4. Delete Reservation")
print("5. Exit")

choice = input("Enter your choice: ")


if choice == '1':
add_reservation(cursor, conn)
elif choice == '2':
view_reservations(cursor)
elif choice == '3':
update_reservation(cursor, conn)
15 | P a g e

elif choice == '4':


delete_reservation(cursor, conn)
elif choice == '5':
print("Exiting... Thank you!")
break
else:
print("Invalid choice! Please try again.")

cursor.close()
conn.close()

if __name__ == "__main__":
main()

You might also like