· 5 years ago · Jul 18, 2020, 12:26 PM
1package main
2
3import (
4 "database/sql"
5 "fmt"
6 "log"
7 "os"
8
9 _ "github.com/mattn/go-sqlite3"
10)
11
12var database *sql.DB
13
14func addClass(className string, database *sql.DB) {
15
16 // Create a new Class
17 db, err := database.Prepare("CREATE TABLE IF NOT EXISTS " + className + " (id INTEGER PRIMARY KEY, firstName TEXT, lastName TEXT)")
18 if err != nil {
19 log.Fatal(err)
20 }
21 db.Exec()
22}
23
24func addStudent(classname, firstName, lastName string, database *sql.DB) {
25
26 // Insert student into a Class
27 db, err := database.Prepare("INSERT INTO " + classname + " (firstName, lastName) VALUES(?, ?)")
28 if err != nil {
29 log.Fatal(err)
30 }
31 db.Exec(firstName, lastName)
32}
33
34func main() {
35
36 database, err := sql.Open("sqlite3", "./school.db")
37 if err != nil {
38 log.Fatal(err)
39 }
40 defer database.Close()
41 if len(os.Args) < 3 {
42 fmt.Println("Please enter command")
43 return
44 }
45 cmd := os.Args[1] + os.Args[2]
46
47 if cmd == "addstudent" {
48 if len(os.Args) < 6 {
49 fmt.Println("Please specify className, firstName, lastName")
50 return
51 }
52 className, firstName, lastName := os.Args[3], os.Args[4], os.Args[5]
53 addStudent(className, firstName, lastName, database)
54 }
55
56 if cmd == "addclass" {
57 if len(os.Args) < 4 {
58 fmt.Println("Please specify className")
59 return
60 }
61 className := os.Args[3]
62 addClass(className, database)
63 }
64
65}