-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTDBSearchList.cpp
56 lines (44 loc) · 1.41 KB
/
TDBSearchList.cpp
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
#include "TDBSearchList.h"
TDBSearchList::TDBSearchList (QWidget* parent) : QTreeWidget(parent)
{
setColumnCount(5);
QStringList header_strings;
header_strings << "Trigramme" << "Nom" << "Prénom"<< "Surnom" << "Promo";
setHeaderLabels(header_strings);
setSelectionMode(QAbstractItemView::SingleSelection);
}
TDBSearchList::~TDBSearchList ()
{
}
void TDBSearchList::fill (QString string)
{
TDBDatabase::open();
QSqlQuery query;
query.prepare("SELECT trigramme, name, first_name, nickname, promo FROM accounts WHERE name LIKE :name OR first_name LIKE :fn OR nickname LIKE :nm");
query.bindValue(":name", QString("%").append(string).append(QString("%")));
query.bindValue(":fn", QString("%").append(string).append(QString("%")));
query.bindValue(":nm", QString("%").append(string).append(QString("%")));
query.exec();
if (query.first())
{
insert_item(query);
}
while (query.next())
{
insert_item(query);
}
TDBDatabase::close();
}
void TDBSearchList::insert_item(QSqlQuery& query)
{
QStringList item;
QSqlRecord record;
record = query.record();
item.clear();
item<<record.value("trigramme").toString()
<<record.value("name").toString()
<<record.value("first_name").toString()
<<record.value("nickname").toString()
<<record.value("promo").toString();
insertTopLevelItem(0,new QTreeWidgetItem(this, item));
}