diff --git a/demo.db b/demo.db index 6eb5090..44bc69f 100644 Binary files a/demo.db and b/demo.db differ diff --git a/main.go b/main.go index 7a6508d..4a1f2da 100644 --- a/main.go +++ b/main.go @@ -32,10 +32,10 @@ func main() { // добавление нового клиента newClient := Client{ - FIO: "", // укажите ФИО - Login: "", // укажите логин - Birthday: "", // укажите день рождения - Email: "", // укажите почту + FIO: "Иванов Иван Иванович", // укажите ФИО + Login: "ivanov1988", // укажите логин + Birthday: "19880428", // укажите день рождения + Email: "ivanov1988@yandex.ru", // укажите почту } id, err := insertClient(db, newClient) @@ -53,7 +53,7 @@ func main() { fmt.Println(client) // обновление логина клиента - newLogin := "" // укажите новый логин + newLogin := "ivanov1988new" // укажите новый логин err = updateClientLogin(db, newLogin, id) if err != nil { fmt.Println(err) @@ -84,18 +84,40 @@ func main() { } func insertClient(db *sql.DB, client Client) (int64, error) { - // напишите здесь код для добавления новой записи в таблицу clients - return 0, nil // вместо 0 верните идентификатор добавленной записи + res, err := db.Exec("INSERT INTO clients (fio, login, birthday, email) VALUES (:fio, :login, :birthday, :email)", + sql.Named("fio", client.FIO), + sql.Named("login", client.Login), + sql.Named("birthday", client.Birthday), + sql.Named("email", client.Email)) + if err != nil { + return 0, err + } + lastInserted, err := res.LastInsertId() + if err != nil { + return 0, err + } + return lastInserted, nil } func updateClientLogin(db *sql.DB, login string, id int64) error { // напишите здесь код для обновления поля login в таблице clients у записи с заданным id + _, err := db.Exec("UPDATE clients SET login = :login WHERE id = :id", + sql.Named("id", id), + sql.Named("login", login)) + if err != nil { + return err + } return nil } func deleteClient(db *sql.DB, id int64) error { // напишите здесь код для удаления записи из таблицы clients по заданному id + _, err := db.Exec("DELETE FROM clients WHERE id = :id", + sql.Named("id", id)) + if err != nil { + return err + } return nil }