python-by-example-150-chall.../challenges139-145/challenge-140.py
2019-08-06 16:41:37 +03:00

85 lines
2.2 KiB
Python

import sqlite3
from sqlite3 import Error
def create_connection(db):
try:
conn = sqlite3.connect(db)
return conn
except Error as e:
print(e)
return None
def show_all(conn):
cur = conn.cursor()
cur.execute("SELECT * FROM PhoneBook")
rows = cur.fetchall()
for row in rows:
print(row)
def view_phone_book(conn, phone_id):
cur = conn.cursor()
cur.execute(str("SELECT * FROM PhoneBook WHERE id = " + str(phone_id)))
print(cur.fetchone())
cur.close()
def add_phone_book(conn, phone_book):
sql = ''' INSERT INTO PhoneBook(first_name,surname,phone)
VALUES(?,?,?) '''
cur = conn.cursor()
cur.execute(sql, phone_book)
print(cur.fetchone())
cur.close()
def surname_in_phone_book(conn, surname):
sql = "SELECT * FROM PhoneBook WHERE surname like '%" + surname + "%'"
cur = conn.cursor()
cur.execute(sql)
rows = cur.fetchall()
for row in rows:
print(row)
def delete_phone_book(conn, phone_id):
cur = conn.cursor()
cur.execute(str("DELETE FROM tasks WHERE id = " + str(phone_id)))
cur.close()
def main():
conn = create_connection('python-by-example.db')
with conn:
print('\n\nMain Menu\n\n\n')
print('1) View phone book ')
print('2) Add to phone book')
print('3) Search for surname')
print('4) Delete person from phone book')
print('5) Quit')
operation_ask = int(input('Enter your selection : '))
if operation_ask == 1:
ask_id = int(input('Enter id to show : '))
view_phone_book(conn, ask_id)
elif operation_ask == 2:
ask_name = str(input('Enter name : '))
ask_surname = str(input('Enter surname : '))
ask_phone = str(input('Enter phone : '))
phone_book = (ask_name, ask_surname, ask_phone)
add_phone_book(conn, phone_book)
elif operation_ask == 3:
ask_surname = str(input('Enter surname to show : '))
surname_in_phone_book(conn, ask_surname)
elif operation_ask == 4:
ask_id = int(input('Enter id to delete : '))
delete_phone_book(conn, ask_id)
else:
print('Invalid input, please try again.')
main()