当我尝试通过INSERT INTO
将数据添加到数据库时,它不是在添加数据。数据库已连接,但未执行
同一数据库在另一个窗口上已连接,我尝试断开它的连接,然后在新页面上连接它仍然显示相同的错误
void signup::on_pushButton_clicked()
{
sql = QSqlDatabase::addDatabase("QSQLITE","SQLITE");
sql.setDatabaseName("/E:/OOP Project/casinousers.db");
if(sql.open()) {
qDebug() << "Database connected";
}
else {
qDebug() << "Error in connecting";
}
QString email,pass,name;
int amount;
email = ui->lineEdit->text();
pass = ui->lineEdit_2->text();
name = ui->lineEdit_3->text();
amount = ui->lineEdit_4->text().toInt();
QSqlQuery *query = new QSqlQuery(sql);
query->prepare("INSERT INTO Data(Email,Password,name,Amount)" "VALUES(':email',':pass',':name',:amount)");
query->bindValue(":email",email);
query->bindValue(":pass",pass);
query->bindValue(":name",name);
query->bindValue(":amount",amount);
if(!query->exec()) {
qDebug() <<" error";
}
}
输出为“错误”-未添加数据
答案 0 :(得分:2)
数据库已锁定。
我将其解锁,从而解决了问题。
我通过打印实际错误来了解这个问题
qDebug() << query->lastError();