as you said I build non-static fuction as follows
bool product_record::product_search(int numb)//, product_record *prdRecord)
{
QString sql
= "select * from tableProductRecords where number = ?";
qry.prepare(sql);
qry.bindValue(0, numb);
if(qry.exec())
{
if(qry.next())
{
this->name = qry.value(0).toString(); // still program crashes here
this->stock = qry.value(1).toInt();
this->rate = qry.value(2).toInt();
this->number = qry.value(3).toInt();
return true;
}
return false;
}
}
bool product_record::product_search(int numb)//, product_record *prdRecord)
{
QString sql = "select * from tableProductRecords where number = ?";
QSqlQuery qry;
qry.prepare(sql);
qry.bindValue(0, numb);
if(qry.exec())
{
if(qry.next())
{
this->name = qry.value(0).toString(); // still program crashes here
this->stock = qry.value(1).toInt();
this->rate = qry.value(2).toInt();
this->number = qry.value(3).toInt();
return true;
}
return false;
}
}
To copy to clipboard, switch view to plain text mode
and called in this :-
void dialogAddNewRecord::on_pushButtonSearchByNumber_clicked()
{
QString str
= ui
->lineEditNumber
->text
().
trimmed();
int s = str.toInt();
prdRecord = new product_record(this);
if(s)
{
prdRecord->product_search(s);
ui->lineEditName->setText(prdRecord->text_name());
ui
->lineEditStock
->setText
(QString::number(prdRecord
->text_stock
()));
ui
->lineEditRate
->setText
(QString::number(prdRecord
->text_rate
()));
ui
->lineEditNumber
->setText
(QString::number(prdRecord
->text_number
()));
}
else
{
QMessageBox::information(this,
"on_pushButtonSearchByNumber_clicked",
"number not valid");
}
}
void dialogAddNewRecord::on_pushButtonSearchByNumber_clicked()
{
QString str = ui->lineEditNumber->text().trimmed();
int s = str.toInt();
prdRecord = new product_record(this);
if(s)
{
prdRecord->product_search(s);
ui->lineEditName->setText(prdRecord->text_name());
ui->lineEditStock->setText(QString::number(prdRecord->text_stock()));
ui->lineEditRate->setText(QString::number(prdRecord->text_rate()));
ui->lineEditNumber->setText(QString::number(prdRecord->text_number()));
}
else
{
QMessageBox::information(this, "on_pushButtonSearchByNumber_clicked", "number not valid");
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks