· 8 years ago · Feb 03, 2018, 07:52 PM
1Nao foi possivel gravar o atirador: "No query Unable to fetch row"
2
3//Main.cpp
4#include <QApplication>
5#include "mainwindow.h"
6#include "db.h"
7
8int main(int argc, char *argv[])
9{
10 QApplication a(argc, argv);
11
12 Database::init(a.applicationDirPath() + "//data//");
13
14 MainWindow w;
15 w.show();
16
17 return a.exec();
18}
19
20//db.cpp
21#include <QDebug>
22#include "db.h"
23
24void Database::init(QString path)
25{
26
27 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
28 db.setDatabaseName(path + "tg.db");
29 db.setUserName("tg");
30 db.setPassword("tg06024");
31
32 bool ok = db.open();
33 if(!ok){
34 qCritical() << "Nao foi possivel abrir o banco de dados: " << db.lastError().databaseText();
35 return;
36 }
37
38 QSqlQuery tabelaAtiradores;
39
40 QString sqlAtiradores = "CREATE TABLE IF NOT EXISTS atiradores (id INTEGER PRIMARY KEY AUTOINCREMENT,"
41 "nome TEXT NOT NULL,"
42 "rg INTEGER NOT NULL,"
43 "ra INTEGER NOT NULL,"
44 "cpf INTEGER NOT NULL,"
45 "fatorRH VARCHAR(60),"
46 "dataNascimento DATETIME,"
47 "idade INTEGER,"
48 "dirFoto3x4 TEXT,"
49 "nomePai TEXT,"
50 "nomeMae TEXT,"
51 "rua TEXT,"
52 "numerCasa INTEGER,"
53 "bairro VARCHAR(250),"
54 "cidade VARCHAR(250),"
55 "cep INTEGER,"
56 "celular INTEGER,"
57 "telefone INTEGER,"
58 "observacoes TEXT,"
59 "numeroDePontos INTEGER,"
60 "status VARCHAR(250),"
61 "patente VARCHAR(250),"
62 "destaque INTEGER,"
63 "turma TEXT,"
64 "anoTurma DATETIME,"
65 "numeroAt INTEGER)";
66
67 if(!tabelaAtiradores.exec(sqlAtiradores)){
68 qCritical() << "Nao foi possivel criar a tabela atiradores: " << tabelaAtiradores.lastError().text();
69 }
70
71 db.close();
72
73}
74
75#include <QDebug>
76#include "db.h"
77
78void Database::init(QString path)
79{
80
81 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
82 db.setDatabaseName(path + "tg.db");
83 db.setUserName("tg");
84 db.setPassword("tg06024");
85
86 bool ok = db.open();
87 if(!ok){
88 qCritical() << "Nao foi possivel abrir o banco de dados: " << db.lastError().databaseText();
89 return;
90 }
91
92 QSqlQuery tabelaAtiradores;
93
94 QString sqlAtiradores = "CREATE TABLE IF NOT EXISTS atiradores (id INTEGER PRIMARY KEY AUTOINCREMENT,"
95 "nome TEXT NOT NULL,"
96 "rg INTEGER NOT NULL,"
97 "ra INTEGER NOT NULL,"
98 "cpf INTEGER NOT NULL,"
99 "fatorRH VARCHAR(60),"
100 "dataNascimento DATETIME,"
101 "idade INTEGER,"
102 "dirFoto3x4 TEXT,"
103 "nomePai TEXT,"
104 "nomeMae TEXT,"
105 "rua TEXT,"
106 "numerCasa INTEGER,"
107 "bairro VARCHAR(250),"
108 "cidade VARCHAR(250),"
109 "cep INTEGER,"
110 "celular INTEGER,"
111 "telefone INTEGER,"
112 "observacoes TEXT,"
113 "numeroDePontos INTEGER,"
114 "status VARCHAR(250),"
115 "patente VARCHAR(250),"
116 "destaque INTEGER,"
117 "turma TEXT,"
118 "anoTurma DATETIME,"
119 "numeroAt INTEGER)";
120
121 if(!tabelaAtiradores.exec(sqlAtiradores)){
122 qCritical() << "Nao foi possivel criar a tabela atiradores: " << tabelaAtiradores.lastError().text();
123 }
124
125 db.close();
126
127}