|
|
import sqlite3 |
|
|
import sys |
|
|
|
|
|
|
|
|
conn = sqlite3.connect('data.db') |
|
|
c = conn.cursor() |
|
|
|
|
|
|
|
|
c.execute(''' |
|
|
CREATE TABLE IF NOT EXISTS records ( |
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT, |
|
|
name TEXT NOT NULL, |
|
|
age INTEGER, |
|
|
phone TEXT |
|
|
) |
|
|
''') |
|
|
conn.commit() |
|
|
|
|
|
|
|
|
def add_data(): |
|
|
name = input("Enter Name: ") |
|
|
age = input("Enter Age: ") |
|
|
phone = input("Enter Phone Number: ") |
|
|
|
|
|
c.execute("INSERT INTO records (name, age, phone) VALUES (?, ?, ?)", (name, age, phone)) |
|
|
conn.commit() |
|
|
print("[β] Data added successfully.") |
|
|
|
|
|
def view_data(): |
|
|
c.execute("SELECT * FROM records") |
|
|
rows = c.fetchall() |
|
|
if not rows: |
|
|
print("No data found.") |
|
|
for row in rows: |
|
|
print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}, Phone: {row[3]}") |
|
|
|
|
|
def search_data(): |
|
|
search_term = input("Enter name to search: ") |
|
|
c.execute("SELECT * FROM records WHERE name LIKE ?", ('%' + search_term + '%',)) |
|
|
rows = c.fetchall() |
|
|
if rows: |
|
|
for row in rows: |
|
|
print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}, Phone: {row[3]}") |
|
|
else: |
|
|
print("No match found.") |
|
|
|
|
|
def help_menu(): |
|
|
print("\nOffline Data Entry Tool (CMD-based)") |
|
|
print("Commands:") |
|
|
print(" python main.py add β Add new record") |
|
|
print(" python main.py view β View all records") |
|
|
print(" python main.py search β Search by name") |
|
|
print(" python main.py help β Show this help\n") |
|
|
|
|
|
|
|
|
if len(sys.argv) < 2: |
|
|
help_menu() |
|
|
elif sys.argv[1] == "add": |
|
|
add_data() |
|
|
elif sys.argv[1] == "view": |
|
|
view_data() |
|
|
elif sys.argv[1] == "search": |
|
|
search_data() |
|
|
else: |
|
|
help_menu() |
|
|
|
|
|
conn.close() |
|
|
|