-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbookdetail.cpp
More file actions
112 lines (89 loc) · 3.21 KB
/
bookdetail.cpp
File metadata and controls
112 lines (89 loc) · 3.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include "bookdetail.h"
#include "ui_bookdetail.h"
#include <QMessageBox>
BookDetail::BookDetail(QWidget *parent) :
QDialog(parent),
ui(new Ui::BookDetail)
{
ui->setupUi(this);
ui->editBookInfoBtn->setVisible(false); // 隐藏 编辑 按钮
ui->intoEditMode->setVisible(false); // 隐藏 进入编辑模式 按钮
model = new QSqlQueryModel;
}
BookDetail::~BookDetail()
{
delete ui;
delete model;
}
void BookDetail::setIsbn(QString isbn)
{
this->isbn = isbn;
}
void BookDetail::getDetail(bool isEdit) // 设置图书详情界面的信息
{
QString sqlStr = QString("select * from book where isbn = '%1'").arg(isbn);
model->setQuery(sqlStr);
ui->id->setEnabled(false);
// 设置信息是否可编辑
setEditable(isEdit);
QModelIndex index = model->index(0, 0);
ui->id->setText(model->data(index).toString());
index = model->index(0, 1);
ui->isbn->setText(model->data(index).toString());
index = model->index(0, 2);
ui->inventory->setText(model->data(index).toString());
index = model->index(0, 3);
ui->name->setText(model->data(index).toString());
index = model->index(0, 4);
ui->author->setText(model->data(index).toString());
index = model->index(0, 5);
ui->shelfLife->setText(model->data(index).toString());
index = model->index(0, 6);
ui->price->setText(model->data(index).toString());
index = model->index(0, 7);
ui->category->setText(model->data(index).toString());
index = model->index(0, 8);
ui->press->setText(model->data(index).toString());
index = model->index(0, 9);
ui->leanStatus->setText(model->data(index).toString());
}
void BookDetail::showEditMode()
{
ui->editBookInfoBtn->setVisible(true);
ui->intoEditMode->setVisible(true);
}
void BookDetail::setEditable(bool isEdit)
{
ui->isbn->setEnabled(isEdit);
ui->inventory->setEnabled(isEdit);
ui->name->setEnabled(isEdit);
ui->author->setEnabled(isEdit);
ui->shelfLife->setEnabled(isEdit);
ui->price->setEnabled(isEdit);
ui->category->setEnabled(isEdit);
ui->press->setEnabled(isEdit);
ui->leanStatus->setEnabled(isEdit);
}
void BookDetail::on_intoEditMode_clicked()
{
setEditable(true);
}
void BookDetail::on_editBookInfoBtn_clicked()
{
QString isbn = ui->isbn->text();
QString inventory = ui->inventory->text();
QString name = ui->name->text();
QString author = ui->author->text();
QString shelf_life = ui->shelfLife->text();
QString price = ui->price->text();
QString loanStatus = ui->leanStatus->text();
QString category = ui->category->text();
QString sqlStr = QString("update book set isbn = '%1', inventory = %2, "
"b_name = '%3', author = '%4', "
"shelf_life = '%5', price = %6, "
"category = '%6', press = '%7', loan_status = '%8' where isbn = '%9'")
.arg(isbn, inventory, name, author, shelf_life, price, category, loanStatus, this->isbn);
model->setQuery(sqlStr);
QMessageBox::information(this, "Message", "修改成功");
getDetail(false);
}