140 } else { |
139 } else { |
141 query.bindValue(":recno", this->recno); |
140 query.bindValue(":recno", this->recno); |
142 } |
141 } |
143 query.exec(); |
142 query.exec(); |
144 if (query.lastError().isValid()) { |
143 if (query.lastError().isValid()) { |
145 qDebug() << "EditProfileWater" << query.lastError(); |
144 qWarning() << "EditProfileWater" << query.lastError(); |
146 QMessageBox::warning(this, tr("Database error"), |
145 QMessageBox::warning(this, tr("Database error"), |
147 tr("MySQL error: %1\n%2\n%3") |
146 tr("MySQL error: %1\n%2\n%3") |
148 .arg(query.lastError().nativeErrorCode()) |
147 .arg(query.lastError().nativeErrorCode()) |
149 .arg(query.lastError().driverText()) |
148 .arg(query.lastError().driverText()) |
150 .arg(query.lastError().databaseText())); |
149 .arg(query.lastError().databaseText())); |
157 this->textIsChanged = false; |
156 this->textIsChanged = false; |
158 WindowTitle(); |
157 WindowTitle(); |
159 } |
158 } |
160 |
159 |
161 |
160 |
|
161 void EditProfileWater::on_cloneButton_clicked() |
|
162 { |
|
163 QSqlQuery query; |
|
164 |
|
165 query.prepare("INSERT INTO profile_water SET name=:name, calcium=:ca, " |
|
166 "bicarbonate=:hco, sulfate=:so4, chloride=:cl, sodium=:na, magnesium=:mg, ph=:ph, notes=:notes, " |
|
167 "total_alkalinity=:alkalinity, uuid = :uuid"); |
|
168 |
|
169 query.bindValue(":name", ui->nameEdit->text() + " [copy]"); |
|
170 query.bindValue(":ca", round(calcium * 1000) / 1000); |
|
171 query.bindValue(":hco", round(bicarbonate * 1000) / 1000); |
|
172 query.bindValue(":so4", round(sulfate * 1000) / 1000); |
|
173 query.bindValue(":cl", round(chloride * 1000) / 1000); |
|
174 query.bindValue(":na", round(sodium * 1000) / 1000); |
|
175 query.bindValue(":mg", round(magnesium * 1000) / 1000); |
|
176 query.bindValue(":ph", round(ph * 1000) / 1000); |
|
177 query.bindValue(":notes", ui->notesEdit->toPlainText()); |
|
178 query.bindValue(":alkalinity", round(total_alkalinity * 1000) / 1000); |
|
179 query.bindValue(":uuid", QUuid::createUuid().toString().mid(1, 36)); |
|
180 |
|
181 query.exec(); |
|
182 if (query.lastError().isValid()) { |
|
183 qWarning() << "EditProfileWater" << query.lastError(); |
|
184 QMessageBox::warning(this, tr("Database error"), |
|
185 tr("MySQL error: %1\n%2\n%3") |
|
186 .arg(query.lastError().nativeErrorCode()) |
|
187 .arg(query.lastError().driverText()) |
|
188 .arg(query.lastError().databaseText())); |
|
189 } else { |
|
190 qDebug() << "EditProfileWater Saved"; |
|
191 } |
|
192 } |
|
193 |
|
194 |
162 void EditProfileWater::on_deleteButton_clicked() |
195 void EditProfileWater::on_deleteButton_clicked() |
163 { |
196 { |
164 QSqlQuery query; |
197 QSqlQuery query; |
|
198 |
|
199 int rc = QMessageBox::warning(this, tr("Delete water profile"), tr("Delete %1").arg(ui->nameEdit->text()), |
|
200 QMessageBox::Yes | QMessageBox::No, QMessageBox::No); |
|
201 if (rc == QMessageBox::No) |
|
202 return; |
165 |
203 |
166 query.prepare("DELETE FROM profile_water WHERE record = :recno"); |
204 query.prepare("DELETE FROM profile_water WHERE record = :recno"); |
167 query.bindValue(":recno", this->recno); |
205 query.bindValue(":recno", this->recno); |
168 query.exec(); |
206 query.exec(); |
169 if (query.lastError().isValid()) { |
207 if (query.lastError().isValid()) { |
170 qDebug() << "EditProfileWater" << query.lastError(); |
208 qWarning() << "EditProfileWater" << query.lastError(); |
171 QMessageBox::warning(this, tr("Database error"), |
209 QMessageBox::warning(this, tr("Database error"), |
172 tr("MySQL error: %1\n%2\n%3") |
210 tr("MySQL error: %1\n%2\n%3") |
173 .arg(query.lastError().nativeErrorCode()) |
211 .arg(query.lastError().nativeErrorCode()) |
174 .arg(query.lastError().driverText()) |
212 .arg(query.lastError().driverText()) |
175 .arg(query.lastError().databaseText())); |
213 .arg(query.lastError().databaseText())); |